{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ogeTPu0m7Em6"
   },
   "source": [
    "<i>Copyright (c) Microsoft Corporation. All rights reserved.</i>\n",
    "\n",
    "<i>Licensed under the MIT License.</i>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "XcSewSRc7Em7"
   },
   "source": [
    "# Standard Variational Autoencoders for Collaborative Filtering on MovieLens dataset. \n",
    "This notebook accompanies the paper \"*A Hybrid Variational Autoencoder for Collaborative Filtering*\" by Kilol Gupta, Mukund Y. Raghuprasad, Pankhuri Kumar [[Gupta et al.,2018]](https://arxiv.org/pdf/1808.01006.pdf). We will study a part of this paper, more specific, the derivation of the \"*Standard Variational Autoencoder*\" [[Gupta et al.,2018, chapter 5.1]](https://arxiv.org/pdf/1808.01006.pdf) . \n",
    "\n",
    "The \"*Standard Variational Autoencoder*\" is enhanced using $\\mathbf \\beta$-VAE [[Higgins et al, 2016]](https://openreview.net/pdf?id=Sy2fzU9gl), [[Burgess et al, 2018]](https://arxiv.org/pdf/1804.03599.pdf). Also, for tuning the parameter $\\mathbf \\beta$ an annealing methodology is used based on [[Bowman et al, 2015]](https://arxiv.org/pdf/1511.06349.pdf) and [[Liang, Dawen, et al,2018]](https://dl.acm.org/doi/pdf/10.1145/3178876.3186150?casa_token=Heh8W001edYAAAAA:P_y4buj0zb2ml8GpDXONkrc3EYEBOxgjZNAJOuqes60aeJ4C1Vg1Wq5Eh6mkCXhxNKp38pO_eUw).\n",
    "\n",
    "\n",
    "In this notebook, we will show a complete self-contained example of training a \"*Standard Variational Autoencoder*\" with a simple ELBO function/loss (described in the original paper) and the prosposed extention of it. The public Movielens-1M dataset is used for training and evaluating our model. For this notebook it is assumed that the reader has basic knowledge about VAE [[Kingma et al, 2013]](https://arxiv.org/pdf/1312.6114.pdf). \n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "wqTaWp1M7Em8"
   },
   "source": [
    "# 0 Global Settings and Imports"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "pzWbu_nfd1GG"
   },
   "outputs": [],
   "source": [
    "# download the necessary libraries \n",
    "! pip install tensorflow==2.2.0-rc1\n",
    "! pip install keras==2.3.1\n",
    "! pip install papermill"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 123
    },
    "id": "AXyb1KV27Em9",
    "outputId": "6f56ffdb-269c-43cf-8d5b-17794b99a7b4"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "System version: 3.6.9 (default, Jul 17 2020, 12:50:27) \n",
      "[GCC 8.4.0]\n",
      "Pandas version: 1.1.2\n",
      "Tensorflow version: 2.2.0-rc1\n",
      "Keras version: 2.3.1\n"
     ]
    }
   ],
   "source": [
    "import sys\n",
    "sys.path.append(\"../../\")\n",
    "import os\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import papermill as pm\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import seaborn as sns\n",
    "sns.set()\n",
    "import tensorflow as tf\n",
    "import keras\n",
    "\n",
    "from reco_utils.common.timer import Timer\n",
    "from reco_utils.dataset import movielens\n",
    "from reco_utils.dataset.split_utils import min_rating_filter_pandas\n",
    "from reco_utils.dataset.python_splitters import numpy_stratified_split\n",
    "from reco_utils.evaluation.python_evaluation import map_at_k, ndcg_at_k, precision_at_k, recall_at_k\n",
    "from reco_utils.common.constants import SEED as DEFAULT_SEED\n",
    "\n",
    "from reco_utils.dataset.sparse import AffinityMatrix\n",
    "from reco_utils.common.python_utils import binarize\n",
    "from reco_utils.recommender.vae.standard_vae import StandardVAE\n",
    "\n",
    "print(\"System version: {}\".format(sys.version))\n",
    "print(\"Pandas version: {}\".format(pd.__version__))\n",
    "print(\"Tensorflow version: {}\".format(tf.__version__))\n",
    "print(\"Keras version: {}\".format(keras.__version__))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "AH6Cjbta7EnB",
    "tags": [
     "parameters"
    ]
   },
   "outputs": [],
   "source": [
    "# top 100 items to recommend\n",
    "TOP_K = 100\n",
    "\n",
    "# Select MovieLens data size: 100k, 1m, 10m, or 20m\n",
    "MOVIELENS_DATA_SIZE = '1m'\n",
    "\n",
    "# Model parameters\n",
    "HELDOUT_USERS = 600 # CHANGE FOR DIFFERENT DATASIZE\n",
    "INTERMEDIATE_DIM = 200\n",
    "LATENT_DIM = 70\n",
    "EPOCHS = 400\n",
    "BATCH_SIZE = 100\n",
    "\n",
    "# temporary Path to save the optimal model's weights\n",
    "tmp_dir = TemporaryDirectory()\n",
    "WEIGHTS_PATH = os.path.join(tmp_dir, \"svae_weights.hdf5\")\n",
    "\n",
    "SEED = 98765"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "C5ADl4Cu7EnD"
   },
   "source": [
    "# 1 Standard-VAE algorithm\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "oU2r5-vexUh7"
   },
   "source": [
    "__Notations__: We use $u \\in \\{1,\\dots,U\\}$ to index users and $i \\in \\{1,\\dots,I\\}$ to index items. In this work, we consider learning with implicit feedback. The user-by-item interaction matrix is the click matrix $\\mathbf{X} \\in \\mathbb{N}^{U\\times I}$. The lower case $\\mathbf{x}_u =[X_{u1},\\dots,X_{uI}]^\\top \\in \\mathbb{N}^I$ is a bag-of-words vector with the number of clicks for each item from user u. We binarize the click matrix. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ErGfeXjWxsfz"
   },
   "source": [
    "__Standard-VAE Model__: Autoencoder based recommendation is an unsupervised model attempting to reconstruct its input data in the output layer. The middle layer (bottleneck layer) is used as a salient feature representation of the input data. In this notebook, we study the standard variational autoencoder and derive the variational lower bound loss function of the standard variational autoencoder. The output of the SVAE is a probability distribution over the K items. This differs from the normal VAE that has the final output as the reconstructed input. So, the SVAE takes the user ratings in the form of a click matrix, $\\mathbf{x}_u$, as inputs and then are encoded to learn the mean, $\\mathbf{m}_u$, and the standard deviation, $\\mathbf{\\sigma}_u$, of the K-dimensional latent representation through the encoder function, $\\mathbf{g}_\\phi(\\mathbf{x}_u)$ = $\\mathbf{m}_u$, $\\mathbf{\\sigma}_u$. In other words, the latent vector for each user,  $\\mathbf{z}_u$, is sampled from the Gaussian distribution, where $\\mathbf{z}_u$ ∼ N($\\mathbf{m}_u$, $\\mathbf{\\sigma}_u$). Then, the decoder function, $\\mathbf{f}_\\theta$($\\mathbf{z}_u$) = $\\mathbf{\\pi}_u$, is used to decode the latent vector from K-dimensional space to a probability distribution $\\mathbf{\\pi}_u$ in the original N-dimensional space. As a result, we get the probabilities of each of the N movies being viewed by each user."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ysxIWUcI7EnD"
   },
   "source": [
    "The objective __function/loss__ used in the model is the __ELBO__:\n",
    "\n",
    "$$Loss= \\log p_\\theta(\\mathbf{x}_u | \\mathbf{z}_u) -  KL (q(\\mathbf{z}_u)||p(\\mathbf{z}_u|\\mathbf{x}_u))$$\n",
    "\n",
    "where:\n",
    "* $\\mathbf{x}_u$: the movie feature vector\n",
    "* $\\mathbf{z}_u$: latent representation of $\\mathbf{x}_u$\n",
    "* $KL$: The Kullback-Leibler divergence measure\n",
    "\n",
    "The first part of the ELBO equation considers the logistic log-likelihood for a movie given its latent representation (reconstruction error), while the second KL term can be viewed as a regularization part. Our goal is to maximize __ELBO__, which is equivalent to minimizing the negative ELBO  (__NELBO__).\n",
    "\n",
    "The logistic log-likelihood fuction is given as, $$\\log p_\\theta(\\mathbf{x}_u | \\mathbf{z}_u) = \\sum_{i} \\mathbf{x}_{ui} \\log \\mathbf{\\sigma}(\\mathbf{f}_{ui}) + (1 - \\mathbf{x}_{ui}) \\log(1 - \\mathbf{\\sigma}(\\mathbf{f}_{ui})) $$\n",
    "\n",
    "where: \n",
    "* $\\mathbf{\\sigma}(\\mathbf{x}) = 1 / (1+ \\exp(-\\mathbf{x}))$ taken over all the movies i.\n",
    "\n",
    "In addition, we extended the **ELBO** by introducing a parameter $\\beta$  ([Higgins et al, 2016](https://openreview.net/pdf?id=Sy2fzU9gl), [Burgess et al, 2018](https://arxiv.org/pdf/1804.03599.pdf) ) to control the strength of regularization:\n",
    "\n",
    "$$\n",
    "Loss= \\log p_\\theta(\\mathbf{x}_u | \\mathbf{z}_u) - \\mathbf{\\beta}  KL (q(\\mathbf{z}_u)||p(\\mathbf{z}_u|\\mathbf{x}_u))\n",
    "$$\n",
    "\n",
    "\n",
    "\n",
    "Τhe regularization view of the **ELBO** introduces a\n",
    "trade-off between how well we can fit the data and how close the\n",
    "approximate posterior stays to the prior during learning. By introducing the parameter $\\mathbf{\\beta}$ < 1, we are weakening the influence of the prior constraint. As a result, the model is less able to generate novel user histories by ancestral sampling. It is important to mention that our goal is not to maximize likelihood or generate imagined user histories, rather, our goal is to make good recommendations. So by treating $\\mathbf{\\beta}$ as a free regularization parameter yields significant improvements in performance. We propose two different experiments. \n",
    "\n",
    "At first, the training of the model is being done by setting $\\mathbf{\\beta}$=1 [[Gupta et al.,2018, chapter 5.1]](https://arxiv.org/pdf/1808.01006.pdf).\n",
    "\n",
    "\n",
    "Finally, we introduce a simple heuristic for tuning $\\mathbf{\\beta}$. We anneal the KL divergence all the way to a specific value of $\\mathbf{\\beta}$, reaching that value at around 80% of the total number of epochs used during the training process. Then we identify the best performing  $\\mathbf{\\beta}$  based on the peak validation metric, and retrain the model with the same annealing schedule, but for the rest of epochs we are not increasing  $\\mathbf{\\beta}$  after reaching its optimal value.\n",
    "\n",
    "It can be hard to imagine how to evaluate a recommender system. The primary concern of recommender systems is that they need to be able to put relevant items very high up the list of recommendations. So we need rank-aware metrics to select recommenders that aim at these two primary goals:\n",
    "\n",
    "1.\tWhere does the recommender place the items it suggests?\n",
    "2.\tHow good is the recommender at modeling relative preference?\n",
    " \n",
    "So, the rank-aware metric we use is the Normalized Discounted Cumulative Gain. NDCG value putting highly relevant documents high up the recommended lists. It is able to use the fact that some documents are “more” relevant than others. It compares the predicted rank of the held-out items with their true rank. The metric recall, primarily concerned with being good at finding things. We need metrics that emphasis being good at finding and ranking things, like NDCG. That's why we emphasize in NDCG.\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "xd0RPMhD7EnE"
   },
   "source": [
    "# 2 Keras implementation of Standard VAE\n",
    "\n",
    "For the implementation of the model, Keras package is used. \n",
    "\n",
    "We will use the MovieLens dataset, which is composed of user-to-item interactions and integer ratings from 1 to 5. We convert MovieLens into binarized clicked matrix ( 1: the user liked this movie , 0: the user did NOT like or did NOT watch/rate this movie), and evaluate based on heldout users data.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "r7Eb3TY1ytdW"
   },
   "source": [
    "# 3 Data Preparation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "qCKNsE9z7EnE"
   },
   "source": [
    "### 3.1 Load data and split\n",
    "\n",
    "We load the data and create train / validation / test splits following strong generalization: \n",
    "\n",
    "- We split all unique users into training users and heldout users (i.e. validation and test users)\n",
    "\n",
    "- By using the lists of these users, we obtain corresponding training data and heldout data, which are converted to click matrices\n",
    "\n",
    "- We train models using the entire click history of the training users. \n",
    "\n",
    "- To evaluate, we take part of the click history from heldout (validation and test) data to learn the necessary user-level representations for the model and then compute metrics by looking at how well the model ranks the rest of the unseen click history from the heldout data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "YV_SaTQeRkkK"
   },
   "source": [
    "#### 3.1.1 Load data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 215
    },
    "id": "SFSY6UrI7EnF",
    "outputId": "4d91e9ce-f701-4bbf-9d38-289f6d5089b2"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 5.78k/5.78k [00:00<00:00, 6.25kKB/s]\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>userID</th>\n",
       "      <th>itemID</th>\n",
       "      <th>rating</th>\n",
       "      <th>timestamp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1193</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978300760</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>661</td>\n",
       "      <td>3.0</td>\n",
       "      <td>978302109</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>914</td>\n",
       "      <td>3.0</td>\n",
       "      <td>978301968</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>3408</td>\n",
       "      <td>4.0</td>\n",
       "      <td>978300275</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>2355</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978824291</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   userID  itemID  rating  timestamp\n",
       "0       1    1193     5.0  978300760\n",
       "1       1     661     3.0  978302109\n",
       "2       1     914     3.0  978301968\n",
       "3       1    3408     4.0  978300275\n",
       "4       1    2355     5.0  978824291"
      ]
     },
     "execution_count": 5,
     "metadata": {
      "tags": []
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = movielens.load_pandas_df(\n",
    "    size=MOVIELENS_DATA_SIZE,\n",
    "    header=[\"userID\", \"itemID\", \"rating\", \"timestamp\"]\n",
    ")\n",
    "\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 34
    },
    "id": "d4T_sSWa2C_b",
    "outputId": "714b1d9e-afd9-4640-d624-e358a7c85004"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1000209, 4)"
      ]
     },
     "execution_count": 6,
     "metadata": {
      "tags": []
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "7EXP5hSAewnA"
   },
   "source": [
    "#### 3.1.2 Data Filtering \n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Y3ng_FifVxHr"
   },
   "source": [
    "For the data filtering we are using the below 3 steps which are recommended by the original paper [[Liang, Dawen, et al,2018]](https://dl.acm.org/doi/pdf/10.1145/3178876.3186150?casa_token=zul5haircsAAAAAA:iIKn7y-xWwSeqaP-MmmyUaJoJuNZX9Fx1aXeFJwkwtMpVDCrPMW3kZjuYo1LKhSuMeUMNf1mbP2o).\n",
    "\n",
    "\n",
    "We have to make sure that :\n",
    " - user-to-movie interactions with rating <=3.5 are filtered out. Applying this filtering we make sure that if a movie is rated less than 3.5 from the users that they watched this movie, it will not be contained in the final click matrix. If we do not apply this filter, the final click matrix will be even sparser.\n",
    " - the users who clicked less than 5 movies are filtered out. \n",
    " - the movies which are not clicked by any user are filtered out.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 365
    },
    "id": "oQWDlySeiBet",
    "outputId": "11c95672-6a96-4756-8cb7-dea2e90d8d32"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(575281, 4)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>userID</th>\n",
       "      <th>itemID</th>\n",
       "      <th>rating</th>\n",
       "      <th>timestamp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1193</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978300760</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>3408</td>\n",
       "      <td>4.0</td>\n",
       "      <td>978300275</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>2355</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978824291</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1</td>\n",
       "      <td>1287</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978302039</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>1</td>\n",
       "      <td>2804</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978300719</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1</td>\n",
       "      <td>594</td>\n",
       "      <td>4.0</td>\n",
       "      <td>978302268</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1</td>\n",
       "      <td>919</td>\n",
       "      <td>4.0</td>\n",
       "      <td>978301368</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>1</td>\n",
       "      <td>595</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978824268</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>1</td>\n",
       "      <td>938</td>\n",
       "      <td>4.0</td>\n",
       "      <td>978301752</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>1</td>\n",
       "      <td>2398</td>\n",
       "      <td>4.0</td>\n",
       "      <td>978302281</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    userID  itemID  rating  timestamp\n",
       "0        1    1193     5.0  978300760\n",
       "3        1    3408     4.0  978300275\n",
       "4        1    2355     5.0  978824291\n",
       "6        1    1287     5.0  978302039\n",
       "7        1    2804     5.0  978300719\n",
       "8        1     594     4.0  978302268\n",
       "9        1     919     4.0  978301368\n",
       "10       1     595     5.0  978824268\n",
       "11       1     938     4.0  978301752\n",
       "12       1    2398     4.0  978302281"
      ]
     },
     "execution_count": 7,
     "metadata": {
      "tags": []
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Binarize the data (only keep ratings >= 4)\n",
    "df_preferred = df[df['rating'] > 3.5]\n",
    "print (df_preferred.shape)\n",
    "df_low_rating = df[df['rating'] <= 3.5]\n",
    "\n",
    "\n",
    "# df.head()\n",
    "df_preferred.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 406
    },
    "id": "9K1zSJPMv5Kg",
    "outputId": "a2d58cb3-9424-4ce4-a57c-5a58c7eb590f"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>userID</th>\n",
       "      <th>itemID</th>\n",
       "      <th>rating</th>\n",
       "      <th>timestamp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>661</td>\n",
       "      <td>3.0</td>\n",
       "      <td>978302109</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>914</td>\n",
       "      <td>3.0</td>\n",
       "      <td>978301968</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1</td>\n",
       "      <td>1197</td>\n",
       "      <td>3.0</td>\n",
       "      <td>978302268</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>1</td>\n",
       "      <td>2687</td>\n",
       "      <td>3.0</td>\n",
       "      <td>978824268</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>1</td>\n",
       "      <td>2321</td>\n",
       "      <td>3.0</td>\n",
       "      <td>978302205</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1000195</th>\n",
       "      <td>6040</td>\n",
       "      <td>1079</td>\n",
       "      <td>2.0</td>\n",
       "      <td>956715648</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1000197</th>\n",
       "      <td>6040</td>\n",
       "      <td>2020</td>\n",
       "      <td>3.0</td>\n",
       "      <td>956715288</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1000198</th>\n",
       "      <td>6040</td>\n",
       "      <td>2021</td>\n",
       "      <td>3.0</td>\n",
       "      <td>956716374</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1000203</th>\n",
       "      <td>6040</td>\n",
       "      <td>1090</td>\n",
       "      <td>3.0</td>\n",
       "      <td>956715518</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1000204</th>\n",
       "      <td>6040</td>\n",
       "      <td>1091</td>\n",
       "      <td>1.0</td>\n",
       "      <td>956716541</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>424928 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         userID  itemID  rating  timestamp\n",
       "1             1     661     3.0  978302109\n",
       "2             1     914     3.0  978301968\n",
       "5             1    1197     3.0  978302268\n",
       "16            1    2687     3.0  978824268\n",
       "20            1    2321     3.0  978302205\n",
       "...         ...     ...     ...        ...\n",
       "1000195    6040    1079     2.0  956715648\n",
       "1000197    6040    2020     3.0  956715288\n",
       "1000198    6040    2021     3.0  956716374\n",
       "1000203    6040    1090     3.0  956715518\n",
       "1000204    6040    1091     1.0  956716541\n",
       "\n",
       "[424928 rows x 4 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {
      "tags": []
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_low_rating"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "hwIiD5BL2IBY"
   },
   "outputs": [],
   "source": [
    "# Keep users who clicked on at least 5 movies\n",
    "df = min_rating_filter_pandas(df_preferred, min_rating=5, filter_by=\"user\")\n",
    "\n",
    "# Keep movies that were clicked on by at least on 1 user\n",
    "df = min_rating_filter_pandas(df, min_rating=1, filter_by=\"item\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 34
    },
    "id": "VQhnqzU8j03b",
    "outputId": "e74180f6-e960-4cb8-f183-fd3233313cb5"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "After filtering, there are 575272 watching events from 6034 users and 3533 movies (sparsity: 2.699%)\n"
     ]
    }
   ],
   "source": [
    "# Obtain both usercount and itemcount after filtering\n",
    "usercount = df[['userID']].groupby('userID', as_index = False).size()\n",
    "itemcount = df[['itemID']].groupby('itemID', as_index = False).size()\n",
    "\n",
    "# Compute sparsity after filtering\n",
    "sparsity = 1. * df.shape[0] / (usercount.shape[0] * itemcount.shape[0])\n",
    "\n",
    "print(\"After filtering, there are %d watching events from %d users and %d movies (sparsity: %.3f%%)\" % \n",
    "      (df.shape[0], usercount.shape[0], itemcount.shape[0], sparsity * 100))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ha1fHIx_nqH8"
   },
   "source": [
    "#### 3.1.3 Split data\n",
    "\n",
    "For data slitting we use:\n",
    "- 600 (~ 10%) users in validation set \n",
    "- 600 (~ 10%) users in testing set \n",
    "- the rest of them (~ 80%) in training set\n",
    "\n",
    "Since the model is trained using the click history of the training users, we have to make sure that the movies that exist in the validation and test sets are the movies that exist in the train set. In other words, validation and test set should not contain movies that do not exist in the train set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "keLEIqb-LMoi"
   },
   "outputs": [],
   "source": [
    "unique_users = sorted(df.userID.unique())\n",
    "np.random.seed(SEED)\n",
    "unique_users = np.random.permutation(unique_users)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 141
    },
    "id": "3PswIHyDkidS",
    "outputId": "4dabe891-ab66-43a4-c7ed-b17788e49010"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of unique users: 6034\n",
      "\n",
      "Number of training users: 4834\n",
      "\n",
      "Number of validation users: 600\n",
      "\n",
      "Number of test users: 600\n"
     ]
    }
   ],
   "source": [
    "# Create train/validation/test users\n",
    "n_users = len(unique_users)\n",
    "print(\"Number of unique users:\", n_users)\n",
    "\n",
    "train_users = unique_users[:(n_users - HELDOUT_USERS * 2)]\n",
    "print(\"\\nNumber of training users:\", len(train_users))\n",
    "\n",
    "val_users = unique_users[(n_users - HELDOUT_USERS * 2) : (n_users - HELDOUT_USERS)]\n",
    "print(\"\\nNumber of validation users:\", len(val_users))\n",
    "\n",
    "test_users = unique_users[(n_users - HELDOUT_USERS):]\n",
    "print(\"\\nNumber of test users:\", len(test_users))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 105
    },
    "id": "vj2_zn_6km2R",
    "outputId": "8f34a731-d4a0-434a-9936-a720af9a3974"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of training observations:  462827\n",
      "\n",
      "Number of validation observations:  57388\n",
      "\n",
      "Number of test observations:  55057\n"
     ]
    }
   ],
   "source": [
    "# For training set keep only users that are in train_users list\n",
    "train_set = df.loc[df['userID'].isin(train_users)]\n",
    "print(\"Number of training observations: \", train_set.shape[0])\n",
    "\n",
    "# For validation set keep only users that are in val_users list\n",
    "val_set = df.loc[df['userID'].isin(val_users)]\n",
    "print(\"\\nNumber of validation observations: \", val_set.shape[0])\n",
    "\n",
    "# For test set keep only users that are in test_users list\n",
    "test_set = df.loc[df['userID'].isin(test_users)]\n",
    "print(\"\\nNumber of test observations: \", test_set.shape[0])\n",
    "\n",
    "# train_set/val_set/test_set contain user - movie interactions with rating 4 or 5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 34
    },
    "id": "jbK7DimNKL1s",
    "outputId": "b99da5ff-0c2a-4339-f789-5629d779ce75"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of unique movies that rated in training set 3497\n"
     ]
    }
   ],
   "source": [
    "# Obtain list of unique movies used in training set\n",
    "unique_train_items = pd.unique(train_set['itemID'])\n",
    "print(\"Number of unique movies that rated in training set\", unique_train_items.size)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 70
    },
    "id": "kmKaUumcDDL5",
    "outputId": "ceccb317-8abc-4354-c647-97bd35ae9efe"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of validation observations after filtering:  57374\n",
      "\n",
      "Number of test observations after filtering:  55027\n"
     ]
    }
   ],
   "source": [
    "# For validation set keep only movies that used in training set\n",
    "val_set = val_set.loc[val_set['itemID'].isin(unique_train_items)]\n",
    "print(\"Number of validation observations after filtering: \", val_set.shape[0])\n",
    "\n",
    "# For test set keep only movies that used in training set\n",
    "test_set = test_set.loc[test_set['itemID'].isin(unique_train_items)]\n",
    "print(\"\\nNumber of test observations after filtering: \", test_set.shape[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "0eKkN1F-RHSJ"
   },
   "source": [
    "## 3.2 Click matrix generation \n",
    "\n",
    "From section 3.1 we end up with 3 datasets train_set, val_set and test_set.  For our model we need to give a click matrix as an input that contains only 0-s and 1-s, where each row represents a user and each column represents a movie. \n",
    "So, the click matrix contains the preferences of the user, marking each cell with 0 when the user did not enjoy (ratings below 3.5) or did not watch a movie and with 1 when the user enjoyed a movie (ratings above 3.5).\n",
    "\n",
    "The training set will be a click matrix containing full historicity of all training users. However, the test set and validation set should be splitted into train and test parts. As a result, we get 4 datasets:\n",
    "- val_data_tr\n",
    "- val_data_te\n",
    "- test_data_tr\n",
    "- test_data_te\n",
    "\n",
    "\n",
    "'val_data_tr' contains 75% of the the preferred movies (movies marked as 1 in the click matrix) per user.\n",
    "The rest 25% of the preffered movies are contained into the 'val_data_te'. The same splitting is followed for test set. \n",
    "\n",
    "The 'val_data_tr' is given as an input for our model at the end of each epoch. The result of the model is a 'reconstructed_val_data_tr', which contains the movies recommended for each user by the model. In order to evaluate the performance of the model, at the end of each epoch, we compare the 'reconstructed_val_data_tr' (predicted recommendations by the model) with the 'val_data_te' (true movie preferences of each user) using NDCG@k metric. \n",
    "\n",
    "For the final evaluation of the model the 'test_data_tr' and 'test_data_te' are being used. As we described before, the 'test_data_tr' is given as an input for the model and returns the 'reconstructed_test_data_tr' dataset with the recommendations made by the model. Then, the 'reconstructed_test_data_tr' is compared with 'test_data_te' through different metrics:\n",
    "- MAP\n",
    "- NDCG@k\n",
    "- Recall@k\n",
    "- Precision@k\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "_cYDwcy3ohEu"
   },
   "outputs": [],
   "source": [
    "# Instantiate the sparse matrix generation for train, validation and test sets\n",
    "# use list of unique items from training set for all sets\n",
    "am_train = AffinityMatrix(DF=train_set, items_list=unique_train_items)\n",
    "\n",
    "am_val = AffinityMatrix(DF=val_set, items_list=unique_train_items)\n",
    "\n",
    "am_test = AffinityMatrix(DF=test_set, items_list=unique_train_items)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 70
    },
    "id": "oygrnMOcpZxD",
    "outputId": "d5c1a15a-cc80-4e76-a39d-eab114932ee9"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(4834, 3497)\n",
      "(600, 3497)\n",
      "(600, 3497)\n"
     ]
    }
   ],
   "source": [
    "# Obtain the sparse matrix for train, validation and test sets\n",
    "train_data, _, _ = am_train.gen_affinity_matrix()\n",
    "print(train_data.shape)\n",
    "\n",
    "val_data, val_map_users, val_map_items = am_val.gen_affinity_matrix()\n",
    "print(val_data.shape)\n",
    "\n",
    "test_data, test_map_users, test_map_items = am_test.gen_affinity_matrix()\n",
    "print(test_data.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "WZwuDmuAsos3"
   },
   "outputs": [],
   "source": [
    "# Split validation and test data into training and testing parts\n",
    "val_data_tr, val_data_te = numpy_stratified_split(val_data, ratio=0.75, seed=SEED)\n",
    "test_data_tr, test_data_te = numpy_stratified_split(test_data, ratio=0.75, seed=SEED)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "msr8uWO7DbYa"
   },
   "outputs": [],
   "source": [
    "# Binarize train, validation and test data\n",
    "train_data = binarize(a=train_data, threshold=3.5)\n",
    "val_data = binarize(a=val_data, threshold=3.5)\n",
    "test_data = binarize(a=test_data, threshold=3.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "T0eGYzRqCs_r"
   },
   "outputs": [],
   "source": [
    "# Binarize validation data: training part  \n",
    "val_data_tr = binarize(a=val_data_tr, threshold=3.5)\n",
    "\n",
    "# Binarize validation data: testing part (save non-binary version in the separate object, will be used for calculating NDCG)\n",
    "val_data_te_ratings = val_data_te.copy()\n",
    "val_data_te = binarize(a=val_data_te, threshold=3.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "ofVbsCAZGGKy"
   },
   "outputs": [],
   "source": [
    "# Binarize test data: training part \n",
    "test_data_tr = binarize(a=test_data_tr, threshold=3.5)\n",
    "\n",
    "# Binarize test data: testing part (save non-binary version in the separate object, will be used for calculating NDCG)\n",
    "test_data_te_ratings = test_data_te.copy()\n",
    "test_data_te = binarize(a=test_data_te, threshold=3.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "XejDWxLhkjFN"
   },
   "outputs": [],
   "source": [
    "# retrieve real ratings from initial dataset \n",
    "\n",
    "test_data_te_ratings=pd.DataFrame(test_data_te_ratings)\n",
    "val_data_te_ratings=pd.DataFrame(val_data_te_ratings)\n",
    "\n",
    "for index,i in df_low_rating.iterrows():\n",
    "  user_old= i['userID'] # old value \n",
    "  item_old=i['itemID'] # old value \n",
    "\n",
    "  if (test_map_users.get(user_old) is not None)  and (test_map_items.get(item_old) is not None) :\n",
    "      user_new=test_map_users.get(user_old) # new value \n",
    "      item_new=test_map_items.get(item_old) # new value \n",
    "      rating=i['rating'] \n",
    "      test_data_te_ratings.at[user_new,item_new]= rating   \n",
    "\n",
    "  if (val_map_users.get(user_old) is not None)  and (val_map_items.get(item_old) is not None) :\n",
    "      user_new=val_map_users.get(user_old) # new value \n",
    "      item_new=val_map_items.get(item_old) # new value \n",
    "      rating=i['rating'] \n",
    "      val_data_te_ratings.at[user_new,item_new]= rating   \n",
    "\n",
    "\n",
    "val_data_te_ratings=val_data_te_ratings.to_numpy()    \n",
    "test_data_te_ratings=test_data_te_ratings.to_numpy()    \n",
    "# test_data_te_ratings  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 70
    },
    "id": "_uBNSJ7VX2KX",
    "outputId": "9f29d169-1634-4733-c0a6-90176cf742d0"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "57374.0\n",
      "43028.0\n",
      "14346.0\n"
     ]
    }
   ],
   "source": [
    "# Just checking\n",
    "print(np.sum(val_data))\n",
    "print(np.sum(val_data_tr))\n",
    "print(np.sum(val_data_te))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 70
    },
    "id": "gtDsnJuMTzNk",
    "outputId": "54580b2f-3f9a-44e4-ec81-4d9dc99c07fe"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "55027.0\n",
      "41278.0\n",
      "13749.0\n"
     ]
    }
   ],
   "source": [
    "# Just checking\n",
    "print(np.sum(test_data))\n",
    "print(np.sum(test_data_tr))\n",
    "print(np.sum(test_data_te))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "8tdIpYbvPr_7"
   },
   "source": [
    "# 4 Train Standard-VAE using Keras\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "2nWkhdT4CfUA"
   },
   "source": [
    "__Model Architecture:__\n",
    "\n",
    "For \"MovieLens-1M dataset\", we set both the generative function and the inference model to be 3-layer multilayer perceptron (MLP) with symmetrical architecture.\n",
    "The generative function is a [70 -> 200 -> n_items] MLP, which means the inference function is a [n_items -> 200 -> 70] MLP. Thus the overall architecture for the Multi-VAE is [n_items -> 200 -> 70 -> 200 -> n_items]. \n",
    "\n",
    "Also, Dropout is applied both in encoder and decoder to avoid overfitting. \n",
    "\n",
    "Note that this architecture, illustrated in the graph below, is the one that resulted optimal results after doing hyperparameter tuning.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "phz3XJTE5LbY"
   },
   "source": [
    "![image.png]()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ZZUSmIm2O0aq"
   },
   "source": [
    "## 4.1 Standard VAE without annealing  (initial approach)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "eT_MEhETgF2a"
   },
   "source": [
    "Firstly, we train Standard-VAE model using constant $\\mathbf \\beta$= 1.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "9tzclS2sgVqa"
   },
   "outputs": [],
   "source": [
    "model_without_anneal = StandardVAE(n_users=train_data.shape[0], # Number of unique users in the training set\n",
    "                                   original_dim=train_data.shape[1], # Number of unique items in the training set\n",
    "                                   intermediate_dim=INTERMEDIATE_DIM, \n",
    "                                   latent_dim=LATENT_DIM, \n",
    "                                   n_epochs=EPOCHS, \n",
    "                                   batch_size=BATCH_SIZE, \n",
    "                                   k=TOP_K,\n",
    "                                   verbose=0,\n",
    "                                   seed=SEED,\n",
    "                                   save_path=WEIGHTS_PATH,\n",
    "                                   drop_encoder=0.5,\n",
    "                                   drop_decoder=0.5,\n",
    "                                   annealing=False,\n",
    "                                   beta=1.0\n",
    "                                   )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 32
    },
    "id": "QPaR4bK0f2fi",
    "outputId": "fbf8563f-0a9a-4a86-ab6a-9a0545db741e"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 635.6573 seconds for training.\n"
     ]
    }
   ],
   "source": [
    "with Timer() as t:\n",
    "    model_without_anneal.fit(x_train=train_data, \n",
    "                             x_valid=val_data, \n",
    "                             x_val_tr=val_data_tr, \n",
    "                             x_val_te=val_data_te_ratings, # with the original ratings \n",
    "                             mapper=am_val\n",
    "                             )\n",
    "print(\"Took {} seconds for training.\".format(t))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 238
    },
    "id": "68RGXLBMqFEH",
    "outputId": "003cac8d-0c6d-4e79-d839-8f07201a0b8d"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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o9FYrF+zZg1Go9EiMUxKSmLv3r106tSJ3bt3ExUVxeuvv17d21Atpd9PAIMHD2bRokV89NFHNG7cuMz7auvWreTk5NC5c2d27drFnj176NKlC46Ojhb3xtwSWLNmzUrfz2bFxcX885//xMnJiZ9++gk3NzdlXY8ePZg0aRIzZsygadOm1KtXz2LfDh068PXXXzNgwABsbGxu6T48/vjjbNq0iby8POzt7ZXla9eupXv37hW2XDdu3JjatWuXu65JkyYWzx0dHdHpdJXej9LHe/TRR7l8+TIrV67kzTffLPMlRmlr1qxh0aJFvP7662Ves549e/Lss8/i7OwMwH/+8x+6du1q0WOgXbt2DBkypMLeK3fSwoULadKkCXPnzrX4kqh///7K+W/8Isvd3b3M759ZTEwMM2bMoGvXrnzxxRfKfWrdujXdu3dnyJAhTJo0ifXr11v83jk4OCjHa968OWFhYTz22GOsXLmSZs2a0b59ewYNGsRnn31GeHg4vr6+GAwG3nzzTWrWrGnxBacQQjxIpKu2EOKho1aradSoEQkJCWXWbd26lezsbIYNG0bXrl3Zvn17mW7TlRk+fDienp588cUXtxzf+PHjAcq0Et3o+++/x2g08tZbb1kkzWYajYannnqqWudMSkri999/p1evXgwePJjU1NRyu+AC2NnZMW7cODZv3nzLXS5VKhWvvfYaNWrU4Pvvv6902/79+3Pt2rVyu8OuWbOGsLAwatWqZbHMYDAwceJEwsLCWLduHXq9/pbivBkjRoygSZMm/PDDD2XWrV69GhcXF2bOnImtrS2rV6++I+fcsmULly9fZvLkyRZJM5je59OnT8dgMJR7j1966SWSk5P58ccfb/n83bp1A2Dz5s3KskOHDnHlyhX69u17y8e9XU2aNCE/P59r165Vut23335Lw4YNy+15AhASEoKfnx8AmZmZFX6RVVlyfqdkZmbi7u5ukTTfzvl/+OEHDAYD06dPL7O/m5sbkydP5tKlS2W6q9/Ix8cHd3d3i7+nU6dOxdHRkbfffhuA//73vxw7dowPP/ywTG8gIYR4UEjiLIR4KF29etUi2TJbvXo1zs7ORERE0K9fP4qLi9mwYUO1j2tra8v48ePZsWMHR44cuaXYPD09GT58OD/99BNXr16tcLt9+/YREhJSaat0dZmTzX79+tGjRw9sbGyU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\n",
      "text/plain": [
       "<Figure size 1008x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "tags": []
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "model_without_anneal.display_metrics() "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "rpAEwHkwMoz9"
   },
   "outputs": [],
   "source": [
    "ndcg_val_without_anneal = model_without_anneal.ndcg_per_epoch()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "HGIwwhxgi30H"
   },
   "source": [
    "#### Prediction and Evaluation of Standard-VAE model using constant $\\beta$ = 1."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "stK8DSn1xyJn"
   },
   "source": [
    "Evaluate with recommending 10 items."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 104
    },
    "id": "YUgTyeviqe2O",
    "outputId": "5f244a35-de08-4e76-d5b1-1f5107b9e516"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 0.9969 seconds for prediction.\n",
      "MAP@10:\t\t0.051831\n",
      "NDCG@10:\t0.446227\n",
      "Precision@10:\t0.421667\n",
      "Recall@10: \t0.081252\n"
     ]
    }
   ],
   "source": [
    "# Use k = 10\n",
    "with Timer() as t:\n",
    "    # Model prediction on the training part of test set \n",
    "    top_k =  model_without_anneal.recommend_k_items(x=test_data_tr,\n",
    "                                                    k=10,\n",
    "                                                    remove_seen=True\n",
    "                                                    )\n",
    "\n",
    "    # Convert sparse matrix back to df\n",
    "    top_k_df = am_test.map_back_sparse(top_k, kind='prediction')\n",
    "    test_df = am_test.map_back_sparse(test_data_te_ratings, kind='ratings') # use test_data_te_, with the original ratings\n",
    "    \n",
    "print(\"Took {} seconds for prediction.\".format(t))\n",
    "\n",
    "# Use the ranking metrics for evaluation\n",
    "eval_map_1 = map_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "eval_ndcg_1 = ndcg_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "eval_precision_1 = precision_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "eval_recall_1 = recall_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "\n",
    "print(\"MAP@10:\\t\\t%f\" % eval_map_1,\n",
    "      \"NDCG@10:\\t%f\" % eval_ndcg_1,\n",
    "      \"Precision@10:\\t%f\" % eval_precision_1,\n",
    "      \"Recall@10: \\t%f\" % eval_recall_1, sep='\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "zupjoESMwNn4"
   },
   "source": [
    "Evaluate with recommending 100 items."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 104
    },
    "id": "i96QHiDm1HcK",
    "outputId": "6220e98c-91c6-41c1-e9fa-01d8f0381543"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 0.4622 seconds for prediction.\n",
      "MAP@100:\t0.138111\n",
      "NDCG@100:\t0.392379\n",
      "Precision@100:\t0.231383\n",
      "Recall@100: \t0.354346\n"
     ]
    }
   ],
   "source": [
    "# Use k = 100 \n",
    "with Timer() as t:\n",
    "    # Model prediction on the training part of test set \n",
    "    top_k =  model_without_anneal.recommend_k_items(x=test_data_tr,\n",
    "                                                    k=TOP_K,\n",
    "                                                    remove_seen=True\n",
    "                                                    )\n",
    "\n",
    "    # Convert sparse matrix back to df\n",
    "    top_k_df = am_test.map_back_sparse(top_k, kind='prediction')\n",
    "    test_df = am_test.map_back_sparse(test_data_te_ratings, kind='ratings') # use test_data_te_, with the original ratings\n",
    "    \n",
    "print(\"Took {} seconds for prediction.\".format(t))\n",
    "\n",
    "# Use the ranking metrics for evaluation\n",
    "eval_map_2 = map_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "eval_ndcg_2 = ndcg_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "eval_precision_2 = precision_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "eval_recall_2 = recall_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "\n",
    "print(\"MAP@100:\\t%f\" % eval_map_2,\n",
    "      \"NDCG@100:\\t%f\" % eval_ndcg_2,\n",
    "      \"Precision@100:\\t%f\" % eval_precision_2,\n",
    "      \"Recall@100: \\t%f\" % eval_recall_2, sep='\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "87Fg9wt50fga"
   },
   "source": [
    "## 4.2 Standard VAE with annealing \n",
    "We are going to use annealing procedure for finding the optimal $\\mathbf \\beta$.\n",
    "\n",
    "Now, in order to find the optimal $\\beta$, we train our model using annealing with anneal_cap equal 1.0.\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "Q9xXAAON0izE"
   },
   "outputs": [],
   "source": [
    "model_with_anneal = StandardVAE(n_users=train_data.shape[0], # Number of unique users in the training set\n",
    "                                original_dim=train_data.shape[1], # Number of unique items in the training set\n",
    "                                intermediate_dim=INTERMEDIATE_DIM, \n",
    "                                latent_dim=LATENT_DIM, \n",
    "                                n_epochs=EPOCHS, \n",
    "                                batch_size=BATCH_SIZE, \n",
    "                                k=TOP_K,\n",
    "                                verbose=0,\n",
    "                                seed=SEED,\n",
    "                                save_path=WEIGHTS_PATH,\n",
    "                                drop_encoder=0.5,\n",
    "                                drop_decoder=0.5,\n",
    "                                annealing=True,\n",
    "                                anneal_cap=1.0\n",
    "                                )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 32
    },
    "id": "Zq3fgxQE1lBw",
    "outputId": "27aa1d04-7e5c-4856-d122-6dec6ef609c0"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 633.1969 seconds for training.\n"
     ]
    }
   ],
   "source": [
    "with Timer() as t:\n",
    "    model_with_anneal.fit(x_train=train_data, \n",
    "                          x_valid=val_data, \n",
    "                          x_val_tr=val_data_tr, \n",
    "                          x_val_te=val_data_te_ratings, #  with the original ratings\n",
    "                          mapper=am_val\n",
    "                          )\n",
    "print(\"Took {} seconds for training.\".format(t))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 358
    },
    "id": "zQe8H2DfvBlv",
    "outputId": "0b642bde-bd39-4a60-e71f-abfae39a4af1"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA84AAAFXCAYAAABz4xf6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd3xT9frA8U+SNt10t7QUaClQRst2gDIsIOOyZMhyoChcBS6iXuUqy4nj50QUBAW5KnJZLUNkyFSGAgqUPcrooHumbZIm+f2RJhDapi0USuF5v159Qc75nu95zmna9DnfpTCZTCaEEEIIIYQQQghRJmVNByCEEEIIIYQQQtzOJHEWQgghhBBCCCHskMRZCCGEEEIIIYSwQxJnIYQQQgghhBDCDkmchRBCCCGEEEIIOyRxFkIIIYQQQggh7JDEWQhR60RERFT4FR0dDcCcOXNstkdGRtK3b18WLlyI0Wgss/4DBw4QERFBx44dKS4uLjeGTz75xPp63759RERE0KJFC+Lj40uV79KlC1OnTrW+TkhIICIiguXLl1u3rVq1ioiICDp06EBOTo7N8cXFxURERDBnzpxSdZ85c4b//Oc/REdHExUVRdu2bRkwYACzZ8/mwoULdu6kraKiItq3b09ERAQnTpwos8zjjz9OREQEr7zySql9y5cvJyIigoSEBOu2qVOnWu99s2bNaN++PX379uW1117jr7/+qjCmxYsXExERweHDh8stM2rUKKKjo7l6dcU1a9YQERHBoEGDyjymrPt/Lcv3dPfu3dZt176f2rZty8MPP8xLL73Erl277F7LtGnTiIiI4N133y11joq+LO+dxx9/nJEjR5aqOyUlhTfeeIPo6GgiIyPp2LEjEydOLPO+Wa6hR48e6PV6m30XLlwgIiKCVatW2b2Wq+P+7bffSu1PSEigWbNm5b7Hy/rq0KEDANHR0ZW6J2XVFxkZSY8ePfj444/RarVlxnz199Nix44djB8/no4dO9KyZUs6derEP//5TzZv3mxTbsuWLYwePZqOHTvSqlUrHnroIZ5//nl27txp935V9H4bOXIkjz/+uM22a3/HAPzxxx+MHTuWBx98kKioKLp06cLYsWNZs2YNcOXns6Kvq39GDx8+zKRJk+jUqRORkZFER0cza9YsUlJSSsV5bf1t27Zl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zY8swNRV1TYbHpyun07/SxERaf+Ki4t54403uPHGGwG4+eabqa6u9u23WCw8+uijvgKfDYmNjSU9PZ3Vq1czZcoUVq9eTXp6+nHnZGVl+dZJFxUVsWnTJsaOHUtycjKbNm3yHffkk09SWVnJ3Xff3ZpvtdkMl0vFwUREpMWadSf54YcfMJvNpKWlAbBhwwbefPNNevbsyU033XTSqVkOh4OHHnqIjRs3EhQUxODBg3nggQf46KOPePzxxzEMA8Mw+P3vf8/YsWMBb2uMWbNmUVJSQlRUFPPnz/dLwZFjR5y1xllERNqTf//73/VaR23evJkxY8YQEREBwBdffMGLL77I7bfffsLrzJ07l1mzZrFo0SIiIyN9HTOmTZvGjBkzGDBgAK+99hobNmzAarViGAY33HADw4cPP23vraUMt9pRiYhIyzXrTjJ79mx+/etfk5aWRm5uLrfeeitDhw7lpZdeory8nD/+8Y8nPP+RRx4hKCiINWvWYDKZKCgowDAM/vSnP/HSSy/Rq1cvduzYwbXXXsvFF1+M2Wz2tcaYMmUKK1eu5P7772+wZ+TpphFnERFpr95//33uuuuuettuu+02UlJSAG8xryeeeOKkiXP37t1Zvnz5cdsXL17s+3r27NlNium2225r0nGnm8flwmQ99TXXIiIi0Myq2rt376Zv374ArFmzhoEDB7J48WIWLFjA22+/fcJzKyoqWLFiBTNnzvS1rYiLi/MGYTZTVlYGQFlZGQkJCZjN5ia3xmgLdVW1NeIsIiLtzf79++nSpYvv+969e2O3233f9+rVi7179/ojNL/zTtW2+TsMEREJcM0acXa73dhqE8iNGzcycuRIAFJTUykoKDjhuTk5OURFRbFw4UI2bdpEWFgYM2fO5Oyzz+bvf/87t956K6GhoVRUVPDss88CJ26NcaJ1WqfDsVW1NeIsIiLticPhoLS01FfI69VXX623v6Kiwh9htQuGy62p2iIi0mLNupP06tWLV155hVGjRrFx40buuOMOAPLy8k7a6sLtdpOTk0Pfvn25++672bp1K7fccgsffPAB//jHP1i0aBFDhgwhIyODP/zhDycdwW6O1mhtYbi9ybLF8PDtd9spzQ+8stqBXF4eAjv+QI4dFL8/BXLsENjxB1LsKSkpfPfdd75+yj/2zTffnPFtIxujqdoiItIampU433nn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\n",
      "text/plain": [
       "<Figure size 1008x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "tags": []
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "model_with_anneal.display_metrics()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "m9hKfKiyyCwG"
   },
   "outputs": [],
   "source": [
    "ndcg_val_with_anneal = model_with_anneal.ndcg_per_epoch()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "o9xC4nUCZumS"
   },
   "source": [
    "Using the optimal beta as anneal cap , we retrain our model. \n",
    "\n",
    "When NDCG@k of validation set reach a peak, the weights of the model are saved. Using this model we evaluate the test set. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 32
    },
    "id": "nxTweT9pvErE",
    "outputId": "5ca836bf-cf2d-4f9a-de53-3779c9139e66"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The optimal beta is:  0.08125\n"
     ]
    }
   ],
   "source": [
    "# Get optimal beta \n",
    "optimal_beta = model_with_anneal.get_optimal_beta()\n",
    "print( \"The optimal beta is: \", optimal_beta)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "B9BJACElaU9h"
   },
   "outputs": [],
   "source": [
    "model_optimal_beta = StandardVAE(n_users=train_data.shape[0], # Number of unique users in the training set\n",
    "                                 original_dim=train_data.shape[1], # Number of unique items in the training set\n",
    "                                 intermediate_dim=INTERMEDIATE_DIM,\n",
    "                                 latent_dim=LATENT_DIM,\n",
    "                                 n_epochs=EPOCHS,\n",
    "                                 batch_size=BATCH_SIZE,\n",
    "                                 k=TOP_K,  \n",
    "                                 verbose=0,\n",
    "                                 seed=SEED,\n",
    "                                 save_path=WEIGHTS_PATH,\n",
    "                                 drop_encoder=0.5,\n",
    "                                 drop_decoder=0.5,\n",
    "                                 annealing=True,\n",
    "                                 anneal_cap=optimal_beta,  \n",
    "                                 )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 32
    },
    "id": "8lj7tOqB-o9L",
    "outputId": "5221a59a-2d15-4dd6-f433-039924897021"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 639.4168 seconds for training.\n"
     ]
    }
   ],
   "source": [
    "with Timer() as t:\n",
    "    model_optimal_beta.fit(x_train=train_data, \n",
    "                           x_valid=val_data, \n",
    "                           x_val_tr=val_data_tr, \n",
    "                           x_val_te=val_data_te_ratings, # with the original ratings\n",
    "                           mapper=am_val\n",
    "                           )\n",
    "print(\"Took {} seconds for training.\".format(t))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 238
    },
    "id": "k9Xovr9zbvin",
    "outputId": "569abae2-fe9e-4fe2-e0d8-4e350a2f4f7c"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA84AAAFXCAYAAABz4xf6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd3xT5RrA8V/SJp20paUtHcwCpbRllFmUVYaC7KWAKILCRUHAAcgUB8sriIiC4AVRhrLK3rKnzLLL7KZ77ya5f4TGxg5ahhV9vp9PP5Bz3vOeJydp0ue8S6HT6XQIIYQQQgghhBCiSMryDkAIIYQQQgghhPg7k8RZCCGEEEIIIYQogSTOQgghhBBCCCFECSRxFkIIIYQQQgghSiCJsxBCCCGEEEIIUQJJnIUQQgghhBBCiBJI4iyEeOZ4eno+9CcgIACAhQsXGm338fGhS5cuLFu2DK1WW2T9Z8+exdPTE39/f/Ly8oqNYf78+YbHp06dwtPTk3r16nH37t1C5Vu3bs3EiRMNj8PDw/H09GTdunWGbRs3bsTT05MmTZqQnJxsdHxeXh6enp4sXLiwUN23bt3io48+IiAgAF9fXxo1akT37t2ZNWsWISEhJVxJY1lZWTRu3BhPT0+uX79eZJnBgwfj6enJ+PHjC+1bt24dnp6ehIeHG7ZNnDjRcO3r1q1L48aN6dKlC5MmTeL8+fMPjWnFihV4enoSFBRUbJmBAwcSEBBAwdUVt2zZgqenJz179izymKKu/5/lv6bHjx83bPvz+6lRo0Z06tSJ999/nyNHjpT4XKZMmYKnpyczZ84sdI6H/eS/dwYPHsyAAQMK1R0dHc2MGTMICAjAx8cHf39/Ro0aVeR1y38OHTp0IDc312hfSEgInp6ebNy4scTnUjDuo0ePFtofHh5O3bp1i32PF/XTpEkTAAICAkp1TYqqz8fHhw4dOjBv3jyys7OLjLng65nv0KFDjBgxAn9/f7y9vWnZsiX/+c9/2Lt3r1G5ffv2MWjQIPz9/alfvz7t2rXj7bff5vDhwyVer4e93wYMGMDgwYONtv35Mwbg9OnTDBs2jOeffx5fX19at27NsGHD2LJlC/DH7+fDfgr+jgYFBTF69GhatmyJj48PAQEBfPzxx0RHRxeK88/1N2rUiFdeeYX9+/cDkJ6eTkBAAAMGDKCo1U6/+eYbvL29uXz5conXSwgh/o5MyzsAIYQoq19++cXo8ahRo/D09GT06NGGbWq12qjM6tWrMTExITk5mY0bN/LFF1+gVCoZOnRoofoDAwMBSEhI4PDhw4YkvDQ0Gg1ff/11oT94yyI1NZWlS5fywQcfPLTs9u3bmTBhAnXq1GH48OHUqFGD3NxcLl++zLp16zh8+DA7d+4s1Xn37t1LWloaoL8GBRP9P9u6dSvDhw+nVq1aD63X3t6e7777DoDMzEzu3LnD1q1beeWVVxgxYgTvvfdescd269aNL774gs2bN1O/fv1C+8PCwjh37hxvv/02CoXCsD3/Nbx27Ro3btwwJFpPSv77KTMzk/DwcHbv3s2bb75J9+7dmTNnDkql8X3prKwsw+uwbds2xo8fj6mpKd7e3kbv59jYWEaNGsWIESOM3nf29vbFxnL9+nXeeOMNLC0teeutt/Dw8CAuLo61a9fyyiuvMHPmzCJvIISFhbF+/foiE/HSsrKyYvPmzTz//PNG2wMDA7G0tCQ9Pb3I4xYsWEDlypWNtpmYmAD65ConJ8ewfcaMGWg0Gj755JNi48ivLz09nb1797JkyRLS09OZOnXqQ5/DrFmzWLFiBS+88AJTp07F0dGRuLg4Dhw4wJgxY9i4cSN169Zl5cqVfP755/Tp04dhw4ZhYWFBWFgYBw8e5OTJk7Ru3fqh53oc+/btY9SoUQQEBDBt2jRsbW2JjIzk2LFjHDp0iO7duzN9+nTD7zDAt99+y6VLlwy/f/mcnJwA/es0adIkGjduzOTJk3FycuL27dssW7aM3bt3s3z5curWrWt0rKenp+G1iIyMZMmSJYwePZo1a9bQoEEDPvvsM9544w1Wr17NoEGDDMfdunWLxYsXM3ToUHx8fJ7WZRJCiKdGEmchxDOnYcOGRo/VajUVK1YstL2gBg0aYGqq/8hr1aoVN27c4Ndffy2UOGdnZ7Nz506aNWvGpUuXCAwMLFPi/Pzzz7Nz505GjBhR6A/OstTx888/M2TIECpVqlRsudu3bzNx4kQCAgKYP3++IfHIr2PYsGFs2LCh1OcNDAzEzs6OatWqsXXrVj744APDNSvIy8uLmJgYFixYUGQL+J+pVCqj18bf35+BAwcyc+ZMlixZgre3Ny+88EKRxzo4ONCqVSu2b9/OxIkTUalURvs3b96MTqczSgyjo6M5ceIErVu35vDhwwQGBjJhwoTSXoZSKfh+AujXrx8rVqxg1qxZeHl5FXpf7du3j7S0NNq0acOhQ4c4cuQI7dq1w9ra2uja5LcEVqlSpcT3c77c3FzeffddKlSowC+//ELFihUN+1588UXGjBnD1KlTqV+/PjVr1jQ69vnnn+e7776jd+/emJmZPdJ16NSpE7t37yYjIwNLS0vD9i1btvDCCy8U23Lt5eVFtWrVitxXr149o8fW1tbk5eWVeD0K1vfcc88REhLChg0bmDx5cqGbGAVt3ryZFStWMGHChEKvWefOnXnttdewsbEB4H//+x8dOnQw6jHg7+9P//79i+298iQtX76cevXqsWjRIqObRL169TKc/883suzt7Qv9/uW7ffs2U6dOpUOHDnz11VeG69S0aVNeeOEF+vfvz5gxY9i2bZvR752VlZWhvoYNG+Ln50fbtm3ZsGEDDRo0oGXLlvTt25cvv/ySgIAAXFxc0Gq1TJ48mSpVqhjd4BRCiGeJdNUWQvzrKJVK6tatS1RUVKF9+/btIzU1lYEDB9KhQwd+++23Qt2mSzJo0CAcHR356quvHjm+kSNHAhRqJfqzH3/8EZ1Ox7Rp04yS5nwqlYpXXnmlVOeMjo7m+PHjdOnShX79+hEXF1dkF1wACwsLRowYwZ49ex65y6VCoeDDDz+kUqVK/PjjjyWW7dWrF4mJiUV2h928eTN+fn5UrVrVaJtWq2X06NH4+fmxdetWNBrNI8VZFkOGDKFevXqsXLmy0L5NmzZha2vL7NmzMTc3Z9OmTU/knHv37iUkJIRx48YZJc2gf59PmTIFrVZb5DUeO3YsMTExrFq16pHP37FjRwD27Nlj2Hbu3DlCQ0Pp3r37I9f7uOrVq0dmZiaJiYkllvv++++pU6dOkT1PAHx8fHB1dQUgOTm52BtZJSXnT0pycjL29vZGSfPjnH/lypVotVqmTJlS6PiKFSsybtw47t27V6i7+p9VrlwZe3t7o8/TiRMnYm1tzfTp0wH46aefCAoKYubMmYV6AwkhxLNCEmchxL9SRESEUbKVb9OmTdjY2NC+fXt69uxJbm4u27dvL3W95ubmjBw5kgMHDnDhwoVHis3R0ZFBgwbxyy+/EBERUWy5kydP4uPjU2KrdGnlJ5s9e/bkxRdfxMzMzNDduSgDBgzA1dX1sbqkq9VqWrRoQVBQULFjyQHatWuHnZ0dmzdvNtqen6D16tXLaPumTZvw8PCgfv369OzZk9jY2GJvAjxprVu3JioqisjISMO2/Bbwzp07Y29vT4cOHThw4ECZbsgU58SJE5iYmNC2bdsi9zs7O+Pt7c3JkycL7fPy8uLFF1/k+++/N+reWxYWFha88MILhjG2oO+54OfnR5UqVYo9TqPRkJeXZ/TzJFttIyIiqFChAnZ2dsWWiY6O5tatW7Rr165Udfr6+hIYGMiyZcuKnMegNLRabaHnXdJ7/8/nP3bsGPPnz+f69etFjiEui/zPj/xu23/Wtm1blEplke+dgtLS0khKSjL6PK1QoQIzZszg0KFDLF68mK+++orBgwfTqFGjx4pZCCHKkyTOQoh/hfw/WBMSEliyZAlXrlxhzJgxRmViYmI4fvw4nTt3Rq1W07JlS5ydnUtMIIvSr18/qlSp8lhJ5VtvvYW5uTnffPNNsWXu379vaA0r6M9JSWkEBgZSo0YNGjRoQIUKFQyt7SkpKUWWV6vVvP322xw9epQzZ86U7kkVwdXVldzcXJKSkooto1ar6dKlCwcOHDCKJzAwEDMzMzp37mzYFhQUxJ07d+jRoweg7277sJsAT5KLiwugH6ucb8uWLWg0GkN38p49e5KTk8OOHTse+3xRUVHY29tjYWFRbBk3Nzfu379f5L4xY8aQkpLCihUrHjmGHj16cOLECaKjo8nJyWHXrl3FTsqWr3Pnznh7exv95Pe0eBT57/nk5GTWr1/Pnj17GDt2bJE9MfLlX5OifoeKMmPGDKpWrcoXX3zBiy++SPPmzXnvvffKdFNm2rRphZ63t7c3586de+ixH3zwAX5+fixevJgePXrQpEkT3n777Ud+H0VFReHm5lbsfktLy0ItyfnyP1vCwsKYNGkStra2DBkyxKhMu3bt6NatG/Pnz6dSpUqMGzfukeIUQoi/CxnjLIT4V/D19TV6/OGHH9KhQwejbfkJTn7SpVQq6d69O0uXLuXOnTuFxogWR6VSMWrUKCZMmMDx48dp2bJlmeO1s7PjjTfeYNGiRbz11ltFto4Xp2HDhkaTK+3Zs6fY8aSgTzZv377N2LFjDdt69uzJ9u3b2bFjR7HdvXv37s2yZcuYN28eq1evLnV8BeW3mhXV/bSgXr16sXr1anbu3MnLL79sSNDat29PhQoVDOU2bdpkeN0AQ++B/fv3k5qaalT2aSjq+QQGBlK9enVDa1vLli1xcnIiMDDwsSbmehJq1KhBz549Wb58Oa+++uoj1dGiRQucnZ3ZunUr7u7uZGVl0blz5xJb1BctWoSzs7PRtvyxxI+i4M0T0M+0/qjPpzg1atQgMDCQc+fOcfToUS5evMjevXvZvn07Y8aM4e23335oHSNHjqR9+/aFtk+ZMuWhxzo4OLBq1SqCgoI4cuQIQUFBnDhxgv3793P8+HE+++yzR3peZXXu3Dm8vb0Nj9VqNcuXLy+yh8E777zD1q1bGTJkSIk3d4QQ4lkgLc5CiH+FX3/9lXXr1rFo0SK8vb358ssvOXXqlFGZwMBAXF1dqV27NikpKaSkpBj+yP1zN+GH6d69O7Vr136ssc5DhgzB1taWr7/+usj9lStXNuoSnG/t2rWsX7+eUaNGleo8+a2x7dq1MzxvX19f7O3tS2ypNTExYcyYMZw9e5ZDhw6V6lx/FhUVhUqlwtbWtsRy+ZNb5ceTP/a8YMtmfituw4YNsbKyMjyXjh07GiZ9e9ryWzEdHR0BuHTpErdu3aJjx46GeNLT0+nUqRMXLlx45C6/+SpXrkxCQgKZmZnFlomIiCg0g3VBo0aNIicnh6VLlz5SDAqFgu7du7N582bDZHoPu0FRu3ZtfH19jX5KurnzMIsWLWL9+vV8//33tGzZktWrVz+0l0H+NSnqd6g4JiYmNG3alHHjxrFixQr27dtHnTp1WLRoUam63ru5uRV63r6+vkYTqz1M/fr1eeedd1iyZAmHDh3C39+fdevWERwcXOo6QP/8SxoKkpGRQUJCgqEXRb66deuyfv16fv31Vz7//HOsrKwYM2YMCQkJherIn1RMxjULIf4JJHEWQvwreHt7U79+fTp06MCyZcuwsbHhs88+M4yrvHz5Mjdv3iQyMpKmTZsafvJbW/PHAJeWUqlkzJgxXLx4kX379j1SzFZWVowYMYJdu3Zx7dq1QvtbtGjB5cuXiY+PL/RcfX19S+yGmS8nJ8cwhrtHjx6G592iRQsSEhI4f/489+7dK/b4zp074+XlxYIFC8o85jInJ4cTJ07QsGHDImfv/rNevXpx7tw5wsLC2Lx5M46OjkbLIB04cICkpCTOnTtn9BrmdxF9UhNyleTQoUO4uroako385G3p0qVGMf38889G+x+Vv78/Go2GgwcPFrk/OjqaK1eu0KJFi2LrcHV15eWXX2bVqlVGXczLokePHgQHB3Po0KGHdtN+GvIT8TZt2rBkyRKqV6/O3LlzycjIKPYYZ2dnPDw8OHDgwCOf19nZmX79+pGXl1emNdOfFBsbG8P6z7du3SrTsfmfHzExMUXuP3jwIFqtttB7x9LSEl9fXxo0aEDfvn356quviIuLK9UM+0II8SyTxFkI8a9jb2/PO++8Q3BwMLt37wb0CYxCoWDhwoWsXLnS6Gf48OFERUUVaqF+mI4dO+Lr6/tISWW+gQMH4uzsXGTL9euvvw78sc7tozh48CBJSUmMGjWq0PPOH6NdUnKnUCgYO3YsV65cMVzL0tDpdHzxxRfEx8cXGhtZnO7du6NUKvnxxx85cuQI3bp1MxrDumnTJiwtLVmxYkWh59K7d2/DZGJPy4oVK7h27Zrh+eTk5LBt2zYaNGhQKJ6VK1fi5eXFli1bHmuSp44dO1K1alXmz59faJy4Vqvl888/R6FQ8Nprr5VYz8iRI1EoFA+dyb04Hh4eDBo0iBdeeKHQms5/NbVazfjx44mPj3/oEIIRI0YQHBzM8uXLi9x/9epVQ4t0cQnmnTt3AJ7IJH0ledj5i5vkqzivv/46CoXC6AZivqSkJObPn0+1atUMM6cXp0WLFnTs2JF169YVO5ZeCCH+CWSMsxDiX+mVV17hhx9+4LvvvqNDhw5s27aNpk2b0qlTp0Jlvby8+PHHHwkMDMTf379M5xk3blyxS92Uhlqt5p133mHq1KmF9nl4eDBz5kwmTZpEv3796N+/PzVq1ECr1RIeHs4vv/yCSqUqcY3e/GRz6NChWFlZFdq/YsUKtmzZwpgxY4odh9y2bVv8/PyKnSQpNzfXMMN4ZmYmd+/eZcuWLVy4cIGRI0cWGmtenMqVK+Pv78/PP/9caO3m+Ph4jhw5Qvfu3Yt8jSpVqsTGjRsJDAzk3XffNWy/fPlykd2KH7Z298WLFzExMSE7O5uwsDB2797N4cOH6dWrlyFJPXToEElJSUycOJHmzZsXquPll1/m448/5tSpUyW2CJdErVazYMEC3njjDfr27cuwYcOoVasWcXFxrFmzhjNnzvDZZ5/h4eFRYj0ODg689tprLF68+JHiAP3EV6V17dq1IpeK8vHxKVXvg4dp3749vr6+hrHb5ubmRZbr0aMHV69eZfbs2Zw/f57OnTvj6OhIfHw8Bw8eZMuWLWzYsAFXV1e6deuGv78/bdq0wd3dnbS0NA4dOsTatWvp3LlzqScZe1RvvvkmLi4uBAQEUKNGDbKysvj9999Zvnw5jRo1ws/Pr0z1eXh48MknnzBlyhRef/11BgwYgKOjI3fu3GHZsmWkpKSwfPnyQmunF2X06NHs27ePpUuXFvlZJYQQ/wSSOAsh/pXyZ4WeNm0aBw8eJDExkT59+hRZ1sbGho4dO7Jnzx6mTZtWZIJZnOeee45mzZpx+vTpR461d+/e/PDDD0V2me7evTuenp6sWLGCJUuWEBsbi0qlokqVKrRs2ZIvv/yy2PGtCQkJhmSzuOfUt29fpk6dyunTp4tM/vKNGzfO0GW0qPO8/PLLKBQKLCwsqFy5Mo0aNWLixIk0bNjw4ReggJ49e3Ls2DG8vLzw9PQ0bN+6dSt5eXnFvoYeHh40atSIwMBARo8ebdi+du1a1q5dW6j8iRMnSoxj4MCBgH45JkdHR+rXr8+yZcto1aqVocymTZuwsrLixRdfLLKOrl27Mnv2bAIDAx85cQb9msWbN29m8eLFLF26lJiYGKytrfHz82PVqlWlXgJo2LBhrFmz5oksk/Uwf57RPt+JEyewt7d/IucYO3Ysw4YNY+3atSX2avjoo49o2bIlq1atYsaMGaSmpmJra0uDBg1YuHAhdevWNdR36NAhvv76a+Li4jAxMaF69eq8//77ht4fT9N//vMfdu/ezdKlS4mNjUWn0+Hu7s7QoUMZPnz4I63l3Lt3b2rWrMnSpUv55JNPSEtLw9HRkVatWjFy5MhC45uL4+npyUsvvcS6desYMWJEmVu/hRDiWaDQPe5CgEIIIYQQQgghxD+YjHEWQgghhBBCCCFKIImzEEIIIYQQQghRAkmchRBCCCGEEEKIEkjiLIQQQgghhBBClEASZyGEEEIIIYQQogSSOAshhBBCCCGEECWQxFkIIYQQQgghhCiBJM5CCCGEEEIIIUQJJHEWQgghhBBCCCFKIImzEEIIIYQQQghRAkmchRBCCCGEEEKIEkjiLIQQQgghhBBClEASZyGEEEIIIYQQogSSOAshhBBCCCGEECWQxFkIIYQQQgghhCiBJM5CCCGEEEIIIUQJJHEWQgghhBBCCCFKIImzEEIIIYQQQghRAkmchRBCCCGEEEKIEkjiLIQQQgghhBBClEASZyGEEEIIIYQQogSSOAshhBBCCCGEECWQxFkIIYQQQgghhCiBJM5CCCGEEEIIIUQJJHEWQgghhBBCCCFKIImzEEIIIYQQQghRAkmchRBCCCGEEEKIEkjiLIQQQgghhBBClEASZyGEEEIIIYQQogSSOAshhBBCCCGEECWQxFkIIYQQQgghhCiBJM5CCCGEEEIIIUQJJHEWQgghhBBCCCFKIImzEEIIIYQQQghRAtPyDuBp0mq1pKeno1KpUCgU5R2OEEKIfzidTkdubi5WVlYolXJv+nHId7gQQoi/0sO+w//RiXN6ejrBwcHlHYYQQoh/mTp16lChQoXyDuOZJt/hQgghykNx3+H/6MRZpVIB+ievVqsfu77Lly/j4+Pz2PWUB4m9fEjs5edZjl9iLx9PIvacnByCg4MN3z/i0cl3+B8k9vLxLMcOz3b8Env5+LfH/rDv8H904pzftUutVmNmZvZE6nxS9ZQHib18SOzl51mOX2IvH08qdula/PjkO9yYxF4+nuXY4dmOX2IvHxJ78d/hMgBLCCGEEEIIIYQogSTOQgghhBBCCCFECf6yrtrh4eG88847hsepqamkpaWxe/duxo8fT2hoKGq1mmrVqvHJJ59gb28PwIULF5g2bRrZ2dm4ubnxxRdf4ODg8FixaLVawsPDSU9PL9NxpqamXLt27bHOXV7+HLuVlRXu7u4y66sQQohnilarJS4ujqSkJDQaTamPexa+w83NzXF3d5cx8kII8Tf0lyXO7u7ubN682fD4888/R6PRoFAoePPNN2nevDkAc+bM4b///S8zZ85Eq9Xy4YcfMmvWLJo0acK3337Lf//7X2bNmvVYscTFxaFQKPD09CxT4pieno6VldVjnbu8FIxdq9USERFBXFwcTk5O5RyZEEIIUXrh4eEoFAqqV69epqWq/u7f4Tqdjvj4eMLDw6lRo0Z5hyOEEOJPyqW5MScnh61bt9KnTx/s7OwMSTNAw4YNiYyMBPSzo5mZmdGkSRMAXnnlFXbt2vXY509KSsLZ2flf29qqVCpxdnYmOTm5vEMRQgghyiQ9PR03NzfUavU/ahI2hUKBg4MDWVlZ5R2KEEKIIpRL5vjbb7/h7OyMt7e30XatVsuaNWsICAgAICoqCldXV8N+e3t7tFotSUlJj3V+jUbzr+8GpVKpyMvLK+8whBBCiDL7p974/ifdCBBCiH+aclmOasOGDfTp06fQ9k8//RRLS0teffXVJ3q+y5cvGz02NTUlIyPjkeoq67jov5M/x56Tk8PZs2fLKZqyeVbiLIrEXn6e5fgl9vLxLMcuhBBCiKfnL0+co6Oj+f3335k7d67R9jlz5hASEsLixYsNd5JdXFwM3bYBEhISUCqV2NnZlemcPj4+Rut6Xbt2rUzjnDQaLVHx6dhYKLCpYF2mcz9Mv379yMnJITc3l3v37lG7dm0A6tWrV6qx3GvWrCE7O5shQ4aUWK6osV1qtZoGDRo8cux/lbNnz9K4cePyDuORSOzl51mOX2IvH08i9uzs7EI3a8U/25tvvkn79u0ZMGCAYZtOp6NDhw7MmjWLZs2aFTpm4sSJ+Pj4PPGGAiHEo8vLyERhosTkGV7H+O8kcus2VHYVcWz1XJmOu79nH5Gbt2DXsAE13xr2lKJ7NH954rxp0ybatGlDxYoVDdvmzZvH5cuX+f7771Gr1YbtPj4+ZGVlcebMGZo0acLatWt58cUX/+qQyc3TkpmtwUJt8sTrXrduHaCf7KRPnz5GE6gB5OXlYWpa/MtU8ItaCCGEEH+tPn36sHz5cqPv41OnTqFUKmnatGk5RiaEKIurn3yGhZsbtUe/Xd6hPPN0Gg2hq3/Bqnq1MifOkZu3khkeQWZkFO59eqO2r2i0X6fRELF5K7Y+3gTP/xqfT6Zh5uj4JMMvVrkkzpMnTzY8vnnzJkuWLKF69eq88sorgH4G7kWLFqFUKpk7dy7Tp083Wo7qL/cXDzkKCAigS5cunDx5kjp16jBu3Djee+890tPTyc7Opk2bNowfPx6AhQsXkpGRwYQJE9i4cSPbtm3DxsaGmzdvUqFCBRYuXIjjX/RmEkIIIf5t2rdvz8cff8zt27fx8PAAYOPGjfTo0YNBgwaRmZlJdnY2/fv3f2jvMCHEk6XT6Ui+GIRtfV8UJcyNoNPpSL9zF11e6Ze4e1quz/0Sc2cnqr8+2Gh7+r173PhiPl6TJ2BRYA6ostBptSiUSvLS04k5cAiXlzoXO7eCNi8PhVJZ4nUrTkZYOJqMDLKio8t0XHZsHJnh4Ti/0Ino3XuIOXgI99499bFrNCRfuow2L4+QH38yHBO5ZRtpt26j69W9zHGW1V+eOO/evdvoce3atblx40ax5f38/Ni6detTjem3M6HsPR1a7H6tVkd2jgZTEwUqVdlanTs2q0pAk6pljiktLY3169cD+q5/ixcvxsrKitzcXIYNG8bhw4dp3bp1oeMuXbrEli1bcHFxYcqUKfz888+MGzeuzOcXQgghngUxvx0kev9vDy2n0WgwMSnbd7hz+wCcAtqWWEatVtOtWzc2bNjA+PHjSUtLY9++fWzfvp3hw4ejVqtJT0+nX79+tGrVypBcCyGevrRbt7ky/RO8Jk/EvlnxPUByk1PQZmeTEx9f5H5NVhZR23bg2r0rygK9Y5+G+GPHAYwSZ51Ox/XZX5AVdZ+4Yyeo0kzVStgAACAASURBVK/wXFEAN76cj4m5ObXeGYkmO5trn83CqV1bnALakhUdzfnR43DuEIBFlSrcXfoDtj7eWFWvVqierJgYLk+ZDjqoM+5dbOp5oc3NRVnKyZVTH+R2OfEJ5KWlY2JhjiY7h4vvf4jHiLewa1j0UNGkCxcAcO3amYx794g7fBT33j3RabUETZhM2s2b2NTzMjomaod+xSW1Tleq2B7HP3Nayn+Anj17Gv6v0WiYO3cu3bt3p3fv3ty8eZPr168XeZyfnx8uLi4ANGjQgNDQ4m8ICCGEEOLx9e3bly1btqDRaNi5cyd+fn6oVComTZpEt27dGDBgADExMcV+dwshniydRkNE4BbSgoMBfQtoSbJjYgDISUxEW8SqM3HHjhPy0yriT/3+WHHlpaUTEbgFnUaDNi+P7PgEo/0Fz52X9sekvmk3b5EVdR+A1BvBRdatycwk7vBRovfsAyBs7a8kB13i3oqVaLKzSblyDW12NlHbdxKz/4D++f7pRoEm+CYxvx3k5oJvyEtLR5udRcSmzUTt3MXJAYO5vXgpOo1Gf65jx9EVk6ymXv+jUfTUoNcI+3U96XfvkBUZRcKZs2THx3Nt5hxykvRL4+ZlZJB0MYioHbswc3LEokoV7Fs0J/3uXbJjY8mMjCLt5k193cE3jc6ly8vDslo1FCUMbX1SymVW7b+bgCYltwrn5GoIuZ9KRWsTKlWs8JfEZGlpafj/8uXLSUlJYd26dZiZmTF16lSys7OLPK7gJGgmJiZoNOXf5UQIIYR4WpwC2j60VRiKniTzSalbty5OTk4cPnyYDRs28PrrrzNv3jwcHR2ZPXs2pqamDB06tNjvbiGeVekhoZiYqTGvXPmJ1anNy0MTdJncOnVQVSj+7+6M0DByU1Kw9fE2Ovb2d0vITUwk8ex5TB78PZ0ZGUlS0CXuLP4e39mfo7KxMaorK1qfOKPTkZOQgLmTk9H+lKv6m15JFy5Q6fmW5CQkYuZg/+AQXZHdnWMPHSHx7DncevXAqkZ1AGIOHODe8h+p4FmHiMAtJJw8hf+GX1A+SPpyk5MNx8efOkVWZJShyzSAXaOGpFy9ZuhyDfpW9ZRr11AXmD/q/p69RGwMpIKnJ6k3bnD3h+WGcwCGJDRq5y5C1/yC76zPUKpU5B07wb20dDQZGTh36kheairxJ0+RcPp3zF1duL9zF0kXLpCXlkZeahq+sz/HxqsuAInnzpMdE4tjuzYknD6DeeXKZN3XJ/vJl6+gstG/lul37xGz/wAJp05j16A+lTu/QMjKVdzfqW85rjtxPAqFAvtmTQn58ScSTv+OiYX+dVSoVOhycwtda+taNUkutPXJk8S5LJ5+D4Aipaam4ujoiJmZGdHR0ezfv18mBRNCCPFE3L17l4kTJ5KUlISdnR1z5syhevXqRZa9c+cOvXr1YuDAgUyYMAGAGTNmcOLECdRqNZaWlkyePBlfX18ABg8eTGRkJNbW+hUpXnvttSKXo/wn6NOnDwsXLiQyMpL27duzY8cOPD09MTU1JTg4mDNnztC1a9fyDlOIJyYvI4PLk6dh7VET7xnTHrkenUYDSiUKhQKdRsPVGZ+RG3SJ27Gx1B3/QbHHnR89FoDnNm8wbIsM3ELMvj+GbmgeLD+bFRlF1LYdZEZEEn/iJBWbNCErMhJbXx/CfllH6Oq1hmNy4uINiXPanbtYVatK6vX8xDmI0FVriNgYSP3/zibu6HGi9+6n2YplxB09TvyJE+RZW5Pu4EDwvK8AyE1NxXv6FABSrunrSb9zl4STp/Sx3b+PNieHvLR0TAs0nN36ehHkjy/WalFVtMOxdSuSzl/g9yHDqDFsKHHHT5AVFUVGSCjKAo1nt7/7ngp1PfH59GNCfl5N5Gb9sFfrOrXJjIhE82CJ2sTf9Uswpt8LoULtWujiE8h9cM0sq7ihy9MQe/AQAF6TPyIzLJzIrdsMrd9pt25ToU5tQn5eTcTGwAfX6CJ5aWl4vP0fbsz9r77+u/ewcHV58P+7hvPf+X4ZIT+tQpOZiUKlosYbr+Pg31x/fnc3LNzdid67H+s6dTCxsMDW14eE03+0+lvX8iDt1m2sa3lI4vx3kX8TqZzyZgYPHsyYMWPo2rUrzs7O+Pv7l1MkQggh/mmmT5/OwIED6dGjB5s3b2batGmsXLmyUDmNRsP06dPp0KGD0fbWrVszadIkVCoVBw4cYNy4cezbt8+wf8qUKbRr1+6pP4/y1rVrV+bMmUP//v1Rq9WMHDmS8ePHs379emrUqCEzbItnWlZ0NIlnzlG5y4uG1tXIwC3kpaaSfvfuY9V9edoMcuLj8Zo0kZykJJKDLqFwcyX+2AliDhzEqV1bQ1mdRkNeejqmBXqP5I+9zYyKIuyXddg3b4ZDS3/uLvuBvNQ0wLh7b9yRY9xZsgydRkPzNT8TtX2HUTzZcXEkXQwi8dx5IgO34NLtJTLDIzB3dSErMoqITZvRaTTcXfo/Uq5eAyDhzFnuLl+BNisbTWYmF/buB8ClW1eitm4jPSQUy6pVSL2m78J8f9cfcz5lhkUQuW07WVH38Rg5HICKTZtg4eZK5Rc7cW/FTyScPIV1LQ8qPd+S3ORk7q1YSfBXX4NWC4BDS38USiXWtTy4t2IlaLU4d+qAUq2mxtAhZISEknThIpbu7igUikLdva/P/kLfgv4gaQawrFIFxYMxzeauLli6u2Hp7mZIbE+/PoykixeJP3GSlCtXcX6hE6k3bhB/4iQVPD1xaNnCUJcmPZ3EM+ce/D+D9Lv39DcFtFo0mZkA1Js6CbsG9Y3iqvJyP4K/nE/63XvY1vfFzFl/Q8O6lgceb/+H7Lg4rs+cQwVPT4iLLert9URJ4lwqT39abXd3d06d0t95+u0340lO3NzcDBOF/dno0aMN/+/duze9e/cu9rEQQghRUHx8PFevXmX58uWAPvn79NNPSUhIwN7e3qjs999/T9u2bcnIyCCjwB9XBZPihg0bcv/+fbRaLcpHmIn1WWZra0tQUJDhcb169di2bVuRZWfPnv1XhSVEmeWlpXNr0XdUHzIYc2dnAKK27SByyzZsvOthVb0aucnJRGzeitLMjNzkFHKSklDb2QGQcvUaFu7uhq65oE94o/f/RkZoOG49u2NWyQHQJ+Qpl68AcPeH5agrOWBiYYHpwJcx27mHmwu+wdTKCvtmTUm/F8KNL+aRGR6O2sHBUHd2XDwZoWGErlqNwtSUmiPexMzBgdgDB0m6cFF//gdjh+2bNyWhwDjl+zt3kZucYvT8Q1etIev+H7NBR23dDkDtd0cRvmETSefO49iuLbEHDhqSv1vffEdeSgq1Rr/NvTt3yNu+Cwf/FlR5uS/Re/YSvn4Dlu7u5CToxzRnhIYZ6s8ICyPt1m20WVmGsdgeI940LLFU6fnnHiTOtVCq1bj16kHi2XMkX7pMBc86gII6741BqVKhyczUJ86Ara+P4Rwu3V7SJ85VqwCFx0nnxMWRExdntM3C3R0TC3NMra2p1LJwo521Rw0Sfz+LwtSU2mNH49SuLTlJyWRGRGBdywOFQoFbn15oMjO5v2MXOQkJVKjrSer1GyhMTKg99l2Cv5yPxzv/QZORaRRvvkqtniPh9zMknj2Hg38LtLk5AKjt7bH2qIlVzRo0+mYBllXcJXH+uyjvFmchhBDiaYiKisLZ2dkw27SJiQlOTk5ERUUZJc7Xr1/n6NGjrFy5km+//bbY+latWkXbtm2Nkua5c+cyb948PD09+fDDD3F+8Ie4EKJswn5dT8Smzbj17E6Vl/uV+ri8jEwyQkKw8apLdnw8eSmpxBw8RF5qGrXffadQ+YTTvxN//AQKUxMUJqa49+5J2q3bAMQdOYpZpUqEbwxEm5NDzeHDuLN4KRn3QlA3tCMjPJxLH+m7JTdaOB/Lqvo5hO7v3sudJUtBqST24EF8PpuBVfXqxJ88DYCDf3MSfj+LUqXCwb85KRYW1Js2mUsTJnPrm+/w/sSJa5/PRpubi0u3lwzJLEDoz6uJO3oMM2cnar87CrMHSbW6UiV9gQfJrYN/C+q8P5b7O3eTk5hI5JZthKz8GYAqA17Gws2N298uJut+NK49u1O5U0d9sj73vzgFtMPGqy5ekyaQm5JCTnyCPnHWajF3dSUrMhIA2/q+mFa0w6dTR8ycnDG1tMC5Q3tDq7bCxAQLN1cyQsNweamLfvzwqdNos7IASDqvn1Va9eAmBIB9syY4tQ/AsfXzhm2uPbuTHR+P15RJRjcoTCwsUDvYozA1NRqnbd+kMb6zP8e6lgeRW7YZYtEVNReSQoHKxsZQb6NvvsL0wXCbgtT2+uvs1K6toVeA2s4WtZ2toUz11141JM6gnyk8NzkZG29vVDYVsG/WBBNz88IxGEJR4Pn+WMPjuOMn9Od5ML5coVDok+a/iCTOZSGZsxBCiH+Z3Nxcpk6dyqxZs0pczmn79u1s3bqVVatWGbbNnTsXFxcXNBoNS5YsYezYsaxZs6ZM5798+bLRY1NTU9LT04spXbJHPe6vlJOTw9mzZwttL2rbs0JiLzvt/Whyd+1B/XJfFBYWAOScOIk2I4PQ1Wu5b22FsvLDb0KdPXuWvCPHyDt4GLP33iV36w604eGQoe8em+hYCZM6tYyOyXmwvFvc4aMAxB49Bg8mZApfv5HwPXtRKJUoa3kQYaUfk3vj8BEU12+gvXvPUM/F739A1aMruvvR5O0/gKKSA6qX+5Lz4youjHkfhZsbZGWicHYi1bMOuhOn0OTlkVS7FkrgwuXLaF9oT+4PP3JhzHtgYoL69VdJdHdDeeky2nsh+jiPHkNRxR0GD+SeqSn3HrxmeQ9aJ5Xe9TCpWYM0by/OBwWBm4v+58xZCA1DUdmZ2Nr6ZeIU7duiMjMjoZ4XCfej0JmpMO3elWQvT6P3gk6rBbUacnLQtGsNq/RjpK+E6VuSr8fHw4MZq3UeNVA4OWLSvCkmPt7k3giG0DDiq1cl79o1ch7clABIDroEFhb6OAt6rgVXo6IgKkr/WAG8+QZBNwvPsK1t2ADMzYp+7wYFodHqk2VFFXd090IwadYEFEo0V65AegZKj5poTEwe+t7XuruiqORAknfdh5ZVDRqAws6Gm5kZoFZBEXGXhvZBq3hcZiZJ5fA5KYlzKTz9jtpCCCHEX8/FxYXo6GjDGscajYaYmBjDsoYAsbGxhIaGMny4fuxdSkoKOp2OtLQ0Pv30UwD27t3L/PnzWbFiBZXyW3ke1A/6luzXXnuNb775pszduH18fIxWjLh27dojzY79NGfVfpLUajUNGhivcXr27FkaN25cThE9nn967DqNhquffI5bn17Y1ff9Y3sxMy0DhKxag6m1NW49uhmVv79jF4nnzlPzraGEHT1OTGgYVfO0pF+8RPqdu5CZiXnDBqTevIX1xUt4vdQF0M8kfWnCJCo9/xyZUVE4tmmFrbe3If7re/cTr9NRQ6Um+F4I5OQYzqs6foKavj6Yu7igtrMlKegSwSGhKCtYk5eahlOHAMNkW/bNm5Fw6jSkpKIDqvfri2vr1pz+30pyHyxvBGDuUpmKfo24v3svNvb2xB46DOhbSWt06kRWgwbE/HaQsF/Xg06H98dTsfX14ez2ndg1akitLp2Nrn2Smztha3+l2muvYlPXU3+9GjZEk53NqQH6tY5rvNQFl+bNja5zdGIytw4dwdWzDtUGDyr0OiSbm5N0IQiXLi/+MSN1Ua93kyZFvo5X6nmRdOEifl06k+Xnh06rpUKd2kW/b9oH/PFaN2+ObuAAlCoVIbFxhN/RjxFX2dqSm5yMhYMDfo/zO/OwYxs3JrttG2IOHCL0Xgi+gwZiVb0atxZ9R0zQJZrP+gzg4etVN24MPXs8mZhKKa9uXc6t30TtNq2p6NfIaN+T+KzJzs4udLO2IEmcS0O6agshhPgHcnBwwMvLi23bttGjRw+2bduGl5eXUTdtV1dXwxwcAAsXLiQjI8Mwq/aBAweYNWsWy5cvx939jy5zeXl5JCUlGRLp7du3U6dOnScy9vmfOoa6uDVRxV8n9UYwQeM/otGirw3bwn5dT9L5C/jM/JTki0EoVKYoTVWo7GxBpyPpwkUs3FwNiXPKtetc/fRzvGdMp0LtP1pzMyMiSTx3nvBf9fPWuHZ7ibC1v2LXsAFKMzPufL8MgCg3V+KOnwTg5vwFRvHZN2+Gde1ahG/YRHZsLGaOjqReu07arduG7tTRe/dTY+jr6B5MpJQeEgpAROAWtAWSZve+vQlfv5HLk6dhU88LTVaWPkEHPD98j7y0dBzbtSH1+g0ywyOo9uoA6rw3htOD30Cbk2N4vnXHv0/y5SsoTE0J+fEnHNu2wbHV80TvP2BImgEqNvYDwNzZmaoDXsa6lgeajEzsGupvFDX6ZgHKB5NRFWRX39fopgTouxkXnIHaroHvnw/DzFH/2aMqsExTQbbe3th6exe5rzSc2gdgWsEaU2trrGsV7spcHIVCYZh0q0r/vphXdsbE3IKE06eJPXjYqOv102Lm6Ih9s6ZkRkRi4e4GQM3hb5J05szDE+ZyZGplRbOV/yu/85fbmZ8hCkObs3yhCSGE+Gf5+OOPmThxIt9++y02NjbMmTMHgLfeeot3333XsLRUcT766CNUKhXvvvuuYduKFSswMzNj+PDh5D7o4unk5MS8efMeO14rKysiIiJwdnZGpVIV26r3rNHpdMTHx2Newni/f7P8pNC6lr5LbV5GJlemTse9Xx8cWjQv6dAS5SYnY2ptjeLBMIT8MZTRu/eg8/UmIzycyM1byUtLI/nSZW4u+AaVna0hwfR4ewSgX84nJymJm/O/RmlmhiY9g5vzF9Bo4VdkxcSSERJC+LoNhucB6Jfw2bCJ+JOncGqvn2TPzLESUdt2oNNoMK1QgbzUVMO/AOZOTlRs2pjw9RuJ2rmb7OgY4o4d1++r7IxL1y4kB13m7rLlYG5Oxn/nGJYOSr1+A6WZGWoHe3KTU6jySn/iT50mJz7BMDu0xzsjsW/WxDDRF4DPpzOIO34CiypVUCgU2Pk1Iu3mLSwejC21qeeFTT0vABxbt0Jd0Q6FiQlNln5HypVrWNeuRdzRY9h61zO69vZNjVtySxrr+jDmBXrJ5LOsWgWlmRnWNWs8cr0lcWz9vNG440ehVKlwftAabd+0MRUbN8bC3fVJhPdQVtWrUWfcH5/bSpUKxd84af47kMS5NCRvFkII8Q/l4eHBunXrCm1funRpkeULruYAcPLkyWLr3rhx4+MFVwR3d3fi4uIICQkh78FMuaWRk5OD+m/+R6G5ublRq72AjNBQchISufvDclAoqPP+ODJCQkkNDibt1m1CV60pVeIce+gICWfOUun5lsQeOox1rVpU7tSR34cOx6ySA7XHvsuNuV8aZh1OvnIVTVoa5387qK9AqeT2d9+Tk5BgmBkZ4N6KnwB94hx35JhhFmfQtzAnXQzi/q7dJJw+Azod6kqVsPWuR+yhw0Rs2KQvFxlF4plzmFeujGPb1oSt/ZUKdfXL+dz73494fjCOK9M/AcDM2QlzJyccWrYwHA9g4e6G34NWcpeXuhB78DA3FyzUT0pVoCeDe59eWFatQm5yCkqVigZfziUvLY2zb43ErmF9KncyXm4OQG1fEdeuXQyPa70zEk1mRpE3rfJnywZQ2dgYli5y69n9oa/Ro2gw/wu02TlFxqKuWJEWv6x6Zm6uKdXqx07ExdMliXMpPM28+c0336R9+/YMGDDAsE2n09GhQwdmzZpFs2bNCh0zceJEfHx8ePXVV59CREIIIcTfl1KpxMnJCacCM8aWxtmzZwuNHRZ/TzqdDp1GgzYri/Nj3jesVQtwedJU8tLSDI9zEhPRabUoiui6nx2fQGZYGOYuLtz65lu0ubkknj2HJj2d5IuXsHBxQZeXR9b9aC5NnKyv70FSnH77DooHrbwOz/lj7uxMxMZAo/qV5uZoHizNpklP5/6uPYZ9zh07EH/iJFHbtpN08ZIhefWaPBETC3NDF+Yqr/QnbO2vJAddwqlDAA4tmhO+fiNVB7yMra8PDs2bYV65MmoHB3Li4w1LFHmMeIvU6zewcHND7eBApQJr5iqUShzbtubmkqXEHtSfx2PkCFJvBOPWpxdK0z/+/DcxM8PEzAyfmZ9i4VK5VK+PyqbCX9KduDSsa9Yscf+zkjSLZ4MkzqXwNH/p+vTpw/Lly40S51OnTqFUKmnatOlTO68QQgghxNOmDQ0jPk+DQ/PCDQFFidqxi7Bf1+HYprVhuZ+C8tLS8Bg5AqWZmpz4BEJ+WkXazVuY2lTg2qczqTd9Cuh0xB4+Sur16ySev6gfZ6xUUn3Ia9xb/qOhnjvL/gdKJRUbNSDx7HnDOcwcK5EdG4cuJhbHNq2p894YtLm5JJw6jU6jIet+NAoTEyo939IwcRZAZng4JlaWaNIzsPGpB0ol0bv1ybSNjzd5qalY1aheqAU49vARtNnZOLZpjVWN6jRfvRKTBxPimVfWJ7OWVasYJc4qW1saffM1SpVpkeOCFUolSjdXNLfvYOHujvMLHan8Yqdir3v+pFtCiOJJ4lxKTyt1bt++PR9//DG3b9/Gw0M/bmfjxo306NGDQYMGkZmZSXZ2Nv3792fIkCFPKQohhBBCiCdLp9GQszGQ62np+M78FBuvuiWWz4qO0a/1C0Rt34nuwfh4AIWpKSgUKNVqnNq3Q6lSkZOQSNgv67g0aSoOLZrru0ZfuEjc0eP6ZX0eSL0RTLXXXqXyi50IXfMLZpUqoTBRkhESioWbK67duxklzhWbNiHu8FHy0tL0iS768Z8NF8wDnY5Tg9/AwqUy1jVrEsNvWFRxx8TCAk1GJjWGvk70vt+o6OdHxUYNUapMUZiaUv31wZA/07ZCgVvvnphVqoRSrabxd98YXQeTArPI57P19SE7Ng5TSwvDtoL/L4rS3Q3t7TtUfqGjtLwK8QRI4gzE/HaQ6P2/lVgmMzuPZAXEqst2yZzbB+AU0LbY/Wq1mm7durFhwwbGjx9PWloa+/btY/v27QwfPhy1Wk16ejr9+vWjVatWhuRaCCGEEKK86HQ6MsMjsHBzLbKbNOjHFZOSitLcnFsLF9Hw6/koTU1JvxeCubMTJvnrEyckcnPBQrJiYlGYmqLLyzNKms2cHKlQ1xNVBRtUdraGFla1fUUazP+Ci+9PIO7oMUCfcGeEhGLh7k5uchLOHTuQdvMWrt27olSpqPXOf1DZ2KA0M+PSxMlY1ayBbYP61Js+hYTTZ7i/cxfmlStjU8+LhNO/Y1VgYqn881Z+sRPmTo6G8dCW7m7UnTjeUC5/9miAmm8NK/LaVH99cJmut1vvnrj17lmmY5T1vKiYllbi36FCiNKTxPlvoG/fvrz55pu8//777Ny5Ez8/P1QqFZMmTeLGjRsoFApiYmK4fv26JM5CCCGEeCp0Gg2arCxMraxIunCRzIgIXF7qYlxGpyN83QYSz54j9foNqg95jdjDR1Cq1dQe+y4ZoaGG1tqkCxdROFaizptDuT5rLtc+n402K4uUq9dweakzFep6khESikKlMkyqVW/aZMJ+XU/q9RuGc3p/8nGx428t3d2xq+9LwunfAcgICcXEyoqG879Ap9MVar11bN3K8H+fmZ9iWcUdhUJBRb9G5CQkAvqZq5V+KhLOnTdKnPPVeON1QD8jN4C6kmOZrvOjeJQWY6VjJepNm/IUohHi30kSZ8ApoO1D78bdjkjCQq3E1dHmiZ+/bt26ODk5cfjwYTZs2MDrr7/OvHnzcHR0ZPbs2ZiamjJ06FCys7Of+LmFEEII8WzT5XcBfgzZ8QlcfP9DNJlZNFv5P+6tXEVGSAhOAe1Qmpsb6s+6f5/QVWtQVdQvVxSxeQu5iUkAXJo4mdykJEytrVGaqak2eBD3XZyxb94M++bNSL0RbJh1+f6uPURt36k/uVKJ2t6exku/Q2lqSsrVa6QG38TW14fUG8GYO5c8EZxdo4YknP4dpbk52qwsHPxblGot2j8vj1TRrxEVmzbBxtsLUysrIizMUVUofhIsla0tVV8daNTCLIT455LEuZQUKJ7qclR9+vRh4cKFREZG0r59e3bs2IGnpyempqYEBwdz5swZunbt+vQCEEIIIcQzJ/nKFa7O+By/RQswc3Qk6/594k+cwrp2LWx9vEtdT+yBg4YEOOXyFdJv69cb/n3YCOzq++I54QPuLP6e9LshAPh+/ik3vviS9Lv3UJia4vnBOO7+70fc+/amysv9DIlr9NmzKBQKvCZN+ONch44QPO8rVLY2WLi7k3LlKjbeXobZnt369KJi0yao7SuSHR1TbFfwfA4tmhOz/zfsmzcjdNUaHNu0KrF8cdT2Fak35SPDY0UJSXO+Kv36PNK5hBDPHkmc/ya6du3KnDlz6N+/P2q1mpEjRzJ+/HjWr19PjRo1ZIZtIYQQQhSSdCEIbXY2yZcu4xTQjjvLlpP4+xlMLCxo9tPyImdcBtBkZ3N/xy7UDg7EHz+OJjPLsC9y6/Y/yqWnE3/iJKGr1xqWW1Kam2Pu6oJFFXfS797Dwt0NB/8WOPi3KHSeolRs2hgTK0tcu3dD7WD/IHH+o/XX1NLSMMuzeSmWHVPbV6TBl3PRaTTY+vo8dBIyIYR4FJI4l5Li6TY4Y2trS1BQkOFxvXr12LZtW5FlZ8+e/RQjEUIIIURBGaGhqCs5PnQW44zwcLKjYx7adTf1RjDWtTxQmJiU6vy67Gy0ubmGJDgnIZErMz6l9pjRpN+9C0DK9WDs/BqRePYcFu7uZIaHk3L1GnYN6gOQGRWFysYGUysrdDodNxcsJP7YCaPzWNfyIO3WbZIuXMTM2QlzZ2eSgy5hXbsW4b+u/6NczRooFAos3d0BsKpWrVTPI5+ppSVNli3BxMICXW4u2bFxRmOPH5XCxESSZiHEU1Ny3xdhIJP4CyGEEP8+sZ8yDwAAIABJREFU2rw8Ln4wkYgNGwFIuXqN7NhYrn42k8it29DpdMSfOMWlj6Zw/p0xXP3kc5KvXCHx3PlCdcUcPEzi+QsEjf+IuOMnAf345Oy4eBLPX+Dy1I8Ns0Pn02k05Hz/A/eWrzRsiz10mIx7IST+fob0O/rEOWb/b9yc/zVotdQeMwqFqSmJZ86i0+mI3ruP8++M4drMOeh0OuKOHCX+2Anc+vSi6qAB+tYBwLa+r76LtU6Hdc2aeE35iOarVlLn/bEAVPCsQ73pU6jz/jgALKroE2fLalXLfF1NLS1RPFheqkr/vphaWZW5DiGE+CtJi3NpPe0mZyGEEEL87eTExaHNzib97l1Srt/g0kdTMHN2Ijs6hsTfz2JVvToxBw6ScvWa4Zjg/34FSiVNf1hi2JYVE8PN+QswtdFPMpoZHg5A7IFD3PrmWyyrVyP99h2SL13GsmoVLKtWJeSnVaTdvoMuMYmkixfR6XT8n707D4+qPvQ//p5zZrJOdkhIICwBgbBaUagLVBoQVDBWr4VSqlbFa/Wq5bqQ0itLudUbXK6iUlt+ioW6cJEKJaLivgBFiYhAABHCmgVICFlIJpkz8/sjMJoCYbKQScLn9Tx9TM45c/KZ2OcZP/l+z/dbvvM7Dn30MQBHszdSXVSMPSICd1kZpdt30O3myUT0voCoQQM5/NkaXIePULTunwTHd6R0y1b2vLyIw598RnjPFLr98hfYTLN2JezP1hDWrRvB8R2pPHCQ8JQetStSBwdjd4Zz8Ut/wQwOwe78vuBG9O6NIyqSqEEDW+DfhIhIYKk4+8kGeNWcRUREzitVBYUAHN+3nyOffg6Aq/AQYd26cnz/AUo2fUPp1pw6r6kuLq59bWEhO59+ltKcbUSceGbXXVp64r4FABz96iu8lkXFrt3EDruEY5u3suuFBfS8604OvPF33z0rDxzkq9/8B1X5ta8zQkIo21G7ZVOPO35N5f4DJI67hqCYGAC6Tvw530ybTtG6f9L1l7+g88/S2Z75OHnL/0FQhw70+o/f+KaKR194IUc+W4OzZwohCfG+4vxDwXFxp/xugjvEMXTRwsb+akVE2pTztjg3eOuGdjZX2+vVHwFERETOpqqwtji7Dh+h8IMPMcPDsSoqSBg9isOffEreyrfwVFWRcNUobIbhW0AL4Nsnn6Zsx7c4YqLr7EsMUJVfQOm27Rz7ZrPvWNxllxFz0UXsXvAiG++tnR7tiIrESkrEs20HVfkFdL/tFiIuuIDS7TvY+9fFGCEhdLjict+K1CdF9OlNjztuw6qspMu/3YDNZqPff02nMr+AoNiYOvsbx4/8Se0od3IXguMTAAjvcer+xSIi57PzsjibpklNTQ1Bfuzxd1LtiHP7UVNTg91+Xv7rFxER8VtV4SHf156qKvo89J9UHz1Kwug0qouKKN/5HQDJE39OcFwcRev+Sc2x2lHlsh3fEjOkdm/g3S8swAwLwzp+HGw2ynZ8y+aM3wMQ2jmJqoJCogcNJCg2hvCUHnzzUAYAQxa8wMaNG3FtexyApOvG1z4bHBLC3r8upue/TzmlNJ+UNO6aU46FJnY65ZjNNInofQEAHX8yHJvdTlBsTGN/ZSIi7dJ52Zyio6MpLCykc+fOGGfZG/B7Nmgno7Qej4fCwkKioqICHUVERKTVKt+9m9KtORhBQXiqqwGIu+xS377C8Wk/pTIvj05jx/imMocmJ2O5dhEz5CKq8vPp/Z9T8dRUs/svLxL/0ytxREdTU1JCftYqAII7dqDfzP/C43L5ympE7wvo/LN0vJaFGRyMzeGg7/QMwrom+2bLOVN6MOyVRXWeOW4Okal9tTK1iMhpnJfFuUOHDhw4cIAdO3ac/eITikurAC/lR+vfiqK1qq6urjPCHh4eTocOHQKYSEREpHXbNPUhAJwX9CKsW1cSRqX5SjNAWHIXUqdn1HlN4jVjqSo8ROfrr/vBteH0nz2D8G5dcURFcejDjwCI7JfKwMf++7Q/u/utN9f5Pm7YJadc09ylWUREzuy8LM6GYdC1a8O2Tnhw3qe4Xcd5+qGx5yjVuZWdnc3gwYMDHUNERKRN+OFaICEJCVxw7z1+va7D5Zed9nj0D1aejho0CEdUFN1/fUvTQoqISIs5L4tzY5iGjer2MVNbREREzsKqqACg45Uj6HHbrc1679rVqF9q1nuKiMi55e8Dvuc9w7DhaSfPOIuIiEj9qktKAIi56CIcWhNEROS8pxFnP5mGDY96s4iISLtWVVCAp7qamrIyoHY7KBERERVnP5mGgccT6BQiIiJyLn3z8O+oOVbKBb+9FwBHdHSAE4mISGugqdp+0lRtERGR9u/kHswH31wBgCNa07RFRETF2W+mYWsv2ziLiIjIGYR0SgDg+N59YBg4IiICnEhERFoDFWc/GYYNjx5yFhGRdiY3N5cJEyYwZswYJkyYwJ49e8547e7duxk8eDCZmZm+Y5WVlfz2t79l9OjRjB07lo8++sivc62Vu7zC97XNMLCZZgDTiIhIa6Hi7CdDi4OJiEg7NHPmTCZNmsS7777LpEmTmDFjxmmvsyyLmTNnMmrUqDrHX3zxRZxOJ++99x4vvPAC//Vf/0XFia2c6jvXGnktC3dFBVEDB9R+73YHOJGIiLQWKs5+Mg2bFgcTEZF2paioiJycHMaNGwfAuHHjyMnJobi4+JRr//KXv3DllVfSvXv3OsfffvttJkyYAED37t0ZMGAAn3766VnPtUbuiuPg9RIz5KJARxERkVZGq2r7ydTiYCIi0s7k5+eTkJCAeWI6smmaxMfHk5+fT2xsrO+67du38/nnn7No0SLmz59f5x55eXl07tzZ931iYiIFBQVnPeevLVu2NPh9nUl2dna95z1FtX8wOFhSgn10Gjan86yvaSmtJUdjKHvgtOX8yh4Yyn5mKs5+Mg1DU7VFROS8U1NTwyOPPMJjjz3mK9gtacCAAQQHBzf5PtnZ2QwZMqTea8p2fMs3QK+BA4i9uP5rW5I/2VsrZQ+ctpxf2QPjfM/ucrnq/WOtirOftB2ViIi0N4mJiRQWFmJZFqZpYlkWhw4dIjEx0XfN4cOH2bdvH3feeScApaWleL1eysvLmTNnDklJSRw8eNA3Qp2fn8+wYcMA6j3XGrnLywG0kraIiJyixYrzgQMHuOeee3zfl5WVUV5ezhdffEFubi4ZGRmUlJQQHR1NZmam7xmq+s61JG1HJSIi7U1cXBypqalkZWWRnp5OVlYWqampdaZpJyUlsX79et/3zz77LMePH2fatGkAjB07liVLljBw4ED27NnD5s2befLJJ896rjWqKSsDwO50BjiJiIi0Ni22OFiXLl1YsWKF739paWm+xUjqW9HT39U+zzUtDiYiIu3RrFmz+Nvf/saYMWP429/+xuzZswGYMmUKmzdvPuvrb7/9dkpLSxk9ejT//u//zh/+8AecJ4pnfedaI3dZ7YizXSPOIiLyLwIyVbu6upqVK1fy4osv+lb0XLhwIVC7ouecOXMoLi7G6/We8dwP/xreEjRVW0RE2qOePXuydOnSU44vWLDgtNffe++9db4PCwtj3rx5p722vnOt0cmp2vbwsAAnERGR1iYg21F9+OGHJCQk0L9//3pX9KzvXEszNOIsIiLSbhWsfo/9r/8fALYALIImIiKtW0BGnJctW8aNN97YYj+vObayOHz4GB6vV0u0B4iyB0Zbzg5tO7+yB0Zbzi5Nc/DNfwBgarRZREROo8WLc2FhIV9++SVz584F6l/R0+v1nnW1T380x1YWOYe24dlWdl4v0R4oyh4YbTk7tO38yh4YLbGVhbRO7uOVVBUU0HHklXS+/rpAxxERkVaoxadqv/nmm/zkJz8hJiYGqLuiJ1BnRc/6zrU0w1a7qrZXzzmLiIi0K2Xbt4PHQ/yVIwjv3i3QcUREpBVq8RHnN998k9///vd1js2aNYuMjAzmz59PZGQkmZmZfp1rSaZpA8DjhRNfioiISDtwbMtWbHY7EX37BDqKiIi0Ui1enN99991Tjp1pRc+znWtJpnGiOHs8mIYWDREREWkvSrdsxdmrJ2ZISKCjiIhIKxWQVbXbIsNWW5wtS1O1RURE2gurspKynd8RNaB/oKOIiEgrpuLsp++naqs4i4iItBel23eAx0OkirOIiNRDxdlPxomp2pZHxVlERKS9KN/5HQCRer5ZRETqoeLsB8vlwvnBcoKtak3VFhERaUdcR47giIrCDA0NdBQREWnFVJz9cHzvPoI3rqVL1SEsjyfQcURERKSZVBcVExTX8ttciohI26Li7AebvXbxcdPrQb1ZRESk/VBxFhERf6g4+8E4UZwNr6URZxERkXakuriIoNi4QMcQEZFWTsXZDzaHAzg54qxnnEVERNoDT00NNcdKCdaIs4iInIWKsx9OjjibeLSqtoiISDtRXVwMoKnaIiJyVirOfrA5fviMs4qziIhIe1BddKI4x6o4i4hI/VSc/WD8YHEwjTiLiIi0D8cPHAAgKE7POIuISP1UnP3w/araWhxMRESkPTi68Wt2Pf8CRkgIwR07BjqOiIi0cirOfqi7HZVGnEVERNq6qrw8AC586nHsYaEBTiMiIq2dirMfbKYJNhum14PbUnEWERFp69zlFQAEJ8QHOImIiLQFKs5+sNlsYJoYXgu3W1O1RURE2jp3RQVGSIhvHRMREZH6qDj7yWbaMb0eaiwVZxERkbbOXV6BPTws0DFERKSN0J9Z/WW3Y+KhRiPOIiLSjuTm5pKRkUFJSQnR0dFkZmbSvXv3OtcsW7aMl19+GcMw8Hg83HTTTdx8880APPzww+zYscN37Y4dO3j++edJS0vj2Wef5dVXXyU+vnY69EUXXcTMmTNb7L3Vx11Rgd3pDHQMERFpI1Sc/WSz2zG9Fm6NOIuISDsyc+ZMJk2aRHp6OitWrGDGjBksWrSozjVjxozhhhtuwGazUV5ezvjx4xk6dCh9+/Zl7ty5vuu2b9/OLbfcwvDhw33Hrr/+eqZNm9Zi78df7vJy7OHhgY4hIiJthKZq+8mwn5iqrRFnERFpJ4qKisjJyWHcuHEAjBs3jpycHIqLi+tc53Q6a9f7AKqqqqipqfF9/0NvvPEG48ePJygo6NyHbyKr4jimirOIiPhJxdlPthPFWSPOIiLSXuTn55OQkIBpmgCYpkl8fDz5+fmnXPvBBx9w7bXXMnLkSO644w769OlT53x1dTUrV67kxhtvrHP8rbfeYvz48dx2221s3Ljx3L2ZBnJXlGuqtoiI+E1Ttf1kODTiLCIi56+0tDTS0tLIy8vjnnvuYcSIEaSkpPjOv//++yQlJZGamuo7NnHiRO666y4cDgdr1qzh7rvvZtWqVcTExPj9c7ds2dJs7yE7O9v3tetYKcUV5XWOtWZtJefpKHvgtOX8yh4Yyn5mKs5+MhwOTG+NRpxFRKTdSExMpLCwEMuyME0Ty7I4dOgQiYmJZ3xNUlISAwcO5OOPP65TnJctW3bKaHPHjh19X19++eUkJiayc+dOhg4d6nfGAQMGEBwc3IB3dXrZ2dkMGTIEAK9lsdblIiklha4njrVmP8ze1ih74LTl/MoeGOd7dpfLVe8fazVV20+G3Y7htTTiLCIi7UZcXBypqalkZWUBkJWVRWpqKrGxsXWu27Vrl+/r4uJi1q9fT+/evX3HCgoKyM7OZvz48XVeV1hY6Pt627ZtHDx4kB49epyLt9IgVmUlgBYHExERv2nE2U+Gw4FdU7VFRKSdmTVrFhkZGcyfP5/IyEgyMzMBmDJlCvfddx8DBw5kyZIlrFmzBrvdjtfrZfLkyVxxxRW+e7z55puMHDmSqKioOvd+6qmn2Lp1K4Zh4HA4mDt3bp1R6EBxl5cDYHeqOIuIiH9UnP1kOGr3cXZpqraIiLQjPXv2ZOnSpaccX7Bgge/r6dOn13uP3/zmN6c9frKEtzbuiuMAWlVbRET8pqnaftJ2VCIiIu2DRpxFRKShVJz9ZHM4MNF2VCIiIm2ddbx2xNkepuIsIiL+UXH2k2G3Y9fiYCIiIm2eVVkFgBESEuAkIiLSVqg4+8lmt2Pgwa3iLCIi0qZZrtribIaqOIuIiH9UnP1k0zPOIiIi7cLJEWezGfaHFhGR84OKs58MR21x1jPOIiLSmnz00UdnPPfCCy+0YJK2w+NyAWCoOIuIiJ9UnP1UO+KsZ5xFRKR1efDBB8nOzj7l+J/+9CdeeumlACRq/ayqKozgYGyG/jNIRET8o08MPxkOB4bHQ43bCnQUERERnxkzZnD33Xezfft237H58+ezcOFC/t//+38BTNZ6eaqqMLUwmIiINIA90AHaCpvdjuH14La8gY4iIiLik56eTklJCXfccQevvvoqK1eu5OWXX+bFF19k0KBBgY7XKllVVRghmqYtIiL+U3H2k2G3Y+ClpqYm0FFERETquOWWWzh69Cj/9m//hs1mY+HChQwYMCDQsVotq1IjziIi0jAqzn6y2Wt/VZ4ad4CTiIjI+W7hwoWnHIuKiiIsLIwhQ4bw5Zdf8uWXXwLw61//uqXjtXoel0vFWUREGkTF2U/fF2eNOIuISGAtXrz4tMcNw2Djxo1s3LgRAJvNpuJ8GlZlFYaKs4iINICKs5+ME8XZ61ZxFhGRwPrwww8DHaFNs1xVOKIjAx1DRETaEK2q7Sebo7Y4W5qqLSIi0qbVrqodGugYIiLShmjE2U+G3QGA163iLCIirUd1dTWLFy/mvffe49ixY3Tr1o1f//rXDBs2LNDRWi2ryqVVtUVEpEFadMTZ5XIxc+ZMrrrqKsaPH88jjzwCwEcffcT1119Peno61113HatXr/a9Jjc3lwkTJjBmzBgmTJjAnj17WjKyjxYHExGR1mbv3r1cffXVfPvtt9x///0899xzXH311fzud7/TdO56WNrHWUREGqhFR5wff/xxgoODeffdd7HZbBw5cgSv18vDDz/MK6+8Qu/evdm+fTu/+MUvGDVqFIZhMHPmTCZNmkR6ejorVqxgxowZLFq0qCVjA2CcmKqNpeIsIiKB53K5mDJlClOmTGHixIm+4z179qRr1678/ve/56c//SmZmZnce++9hIWFBTBt6+H1ePC4XBjBGnEWERH/tVhxrqioYPny5XzyySfYbDYAOnTogNfrxTAMysrKACgrKyM+Ph7DMCgqKiInJ8e37ca4ceOYM2cOxcXFxMbGtlR04PsRZ69GnEVEpBV47bXXSE5OZuLEiUyZMgWXy1XnfG5uLiUlJRQVFbFgwQLuv//+ACVtXTzV1eD1YobqGWcREfFfi03V3r9/P9HR0Tz33HPccMMN/OpXv2LDhg3YbDaefvpp7r77bkaOHMk999xDZmYmAPn5+SQkJGCaJgCmaRIfH09+fn5LxfY5WZyx3Hg83hb/+SIiIj/03nvvceONNwJw5ZVXsnv3bi699FLS0tIoKiri1ltvJSwsjFtvvZU333wzwGlbD6uqCgBTI84iItIALTbibFkW+/fvp1+/fkybNo1NmzZx11138d577/HnP/+Z+fPnM2TIELKzs/ntb3/LW2+91Ww/e8uWLU2+h2fPXgBMr4cvN2RjN21NvmdLy87ODnSERlP2wGjL2aFt51f2wGhL2ffu3UvPnj0BePvtt5k9ezZpaWkAjB49mhtvvJEHHniA1NRUDh8+HJDZWq2R52RxDtUzziIi4r8WK86JiYnY7XbGjRsHwODBg4mJiSE3N5dDhw4xZMgQAIYMGUJoaCi7du2ic+fOFBYWYlkWpmliWRaHDh0iMTGxQT97wIABBDfxL8tlzgi+AUyvxcBBgwkLcTTpfi0tOzvb9ztua5Q9MNpydmjb+ZU9MJoju8vlapY/1jbk50HttOwffjZ27NiR0tJSSkpK6NChA1D7B2z5fsTZ0OJgIiLSAE2eql1TU+PXdbGxsQwbNow1a9YAtR/yRUVFdOrUiYKCAnbv3g3Arl27KCoqomvXrsTFxZGamkpWVhYAWVlZpKamBuQv5jZHbVG2ez3UuD0t/vNFRER+qEePHuzatQuo/WP0vHnzOHz4MOXl5Tz11FN06tSJDh06kJubS3BwsK9An++sqto/NmhVbRERaYgGjTgvWrSIhIQExowZA8D06dNZvnw5ycnJ/OlPfyIlJaXe18+ePZvp06eTmZmJ3W5n7ty5dOzYkVmzZnH//ff7Fg179NFHiY6OBmDWrFlkZGQwf/58IiMjfc8/tzTjRHE2vRZuS8VZREQCKy0tjSVLlvCzn/2MWbNmMW3aNEaMGAFA7969efbZZwFYvnw5I0eO9H3Gnu9OTtU2goMCnERERNqSBhXnxYsX8+ijjwLw5Zdf8vbbb/PEE0+wevVqMjMz+fOf/1zv65OTk1m8ePEpx6+77jquu+66076mZ8+eLF26tCExz4mT21GZGnEWEZFWYOLEiSxatIjXX3+diRMnsnDhQiorK3G73URERADwzTff8Oqrr/L666+f8T65ublkZGRQUlJCdHQ0mZmZdO/evc41y5Yt4+WXX8YwDDweDzfddBM333wzAM8++yyvvvoq8fHxAFx00UXMnDkTgMrKSn73u9+xdetWTNNk2rRpjBw58hz8Nvznqa4GwAjS4mAiIuK/BhXnwsJCunTpAsCHH37I2LFjueaaa+jTpw+TJk06JwFbC9sPRpxVnEVEJNBCQkJ4/vnnmTJlCnl5edxxxx1ERkYC4Ha7efPNN3nyySeZNWuWbxGx05k5cyaTJk0iPT2dFStWMGPGDBYtWlTnmjFjxnDDDTdgs9koLy9n/PjxDB06lL59+wJw/fXXM23atFPu/eKLL+J0OnnvvffYs2cPv/zlL1m9ejXh4eHN+JtomJPF2dSIs4iINECDnnF2Op0UFRUBsHbtWi699FIA7HY71Sc+iNorw1H7AWtXcRYRkVYiNTWVN954g4KCAtLS0khPT+fnP/85l156KStXruQvf/kL11577RlfX1RURE5Ojm/hznHjxpGTk0NxcXGd65xOp2+qd1VVFTU1NX5N/X777beZMGECAN27d2fAgAF8+umnjX27zcI6saCaEaTiLCIi/mvQiPPll1/OI488Qr9+/di3b5/vWaqdO3f6RqLbq++naltU12hlUhERaR06derE3LlzqaysZM+ePdTU1JCcnExMTMxZX5ufn09CQgKmaQJgmibx8fHk5+efshDnBx98wFNPPcW+fft44IEH6NOnj+/cW2+9xeeff07Hjh259957+dGPfgRAXl4enTt39l2XmJhIQUFBg95fc65Snp2djfu772rvu30HtoMHm+3e51pb2irtXyl74LTl/MoeGMp+Zg0qzjNnzuR///d/ycvL45lnnvEt4JWTk1PvX7Tbgx+uqu2qVnEWEZHWJTQ0lNTU1HN2/7S0NNLS0sjLy+Oee+5hxIgRpKSkMHHiRO666y4cDgdr1qzh7rvvZtWqVX4Vd380x5aS8P12YwcPHGQPcOHFF2N3Bm7KeEOc79u8BUpbzg5tO7+yB8b5nv1sW0o2qDg7nU4eeeSRU47fd999DU/WxthMEy+1I84ujTiLiEiAHT16lL///e/cfvvtANx5551UnVgxGmpHj5988sl6t3BMTEyksLAQy7IwTRPLsjh06FCdPaH/VVJSEgMHDuTjjz8mJSWFjh07+s5dfvnlJCYmsnPnToYOHUpSUhIHDx70ZcjPz2fYsGFNfetN4nGdWBxMzziLiEgDNOgZ5++++8633zLAmjVrePDBB/nzn/+MZbXvMmmz2cBux/R6VJxFRCTg/u///o/vTkw7htrdLjp16sQFF1zABRdcwJEjR/jrX/9a7z3i4uJITU0lKysLgKysLFJTU08p2yf3iwYoLi5m/fr19O7dG6hdOPSkbdu2cfDgQXr06AHA2LFjWbJkCQB79uxh8+bNDB8+vAnvuuk81dVgs2GzN2jsQEREznMN+tSYPn06t9xyCykpKeTn53P33XczdOhQXnnlFcrLy3nggQfOVc7WwTSxey1N1RYRkYBbvXo1Dz30UJ1j9957L8nJyUDtM8nz5s1j6tSp9d5n1qxZZGRkMH/+fCIjI8nMzARgypQp3HfffQwcOJAlS5awZs0a7HY7Xq+XyZMnc8UVVwDw1FNPsXXrVgzDwOFwMHfuXN8o9O23305GRgajR4/GMAz+8Ic/4HQ6m/tX0SCe6mqMoCDtay0iIg3SoOK8e/du+vXrB8C7777LoEGDWLBgAf/85z+ZPn36eVCc7ZqqLSIircKBAwfo1q2b7/s+ffoQ9IOVonv37s3evXvPep+ePXuydOnSU44vWLDA9/X06dPP+PqTRft0wsLCmDdv3lkztKSTxVlERKQhGjRV27IsHCcWyVq3bh0/+clPAOjatStHjhxp/nStjM1uanEwERFpFVwuF6Wlpb7vX3/9dRISEnzfV1RUBCJWq+dxqTiLiEjDNag49+7dm9dee40NGzawbt0633NKhYWFzbZ6ZqtmN2u3o3KrOIuISGAlJyezdevWM57fvHlzu98qsjE81dVaGExERBqsQcX5wQcfZOnSpfzqV7/i2muv9e3h+OGHHzJo0KBzErA1sdnt2NGIs4iIBN7o0aOZN2/eaWd8FRYW8txzzzF69OgAJGvdNFVbREQao0HPOF9yySWsW7eO8vJyoqKifMcnTJhAaGhos4drdex2gvBQoWecRUQkwG6//XZWr17NVVddRXp6Ot27dwdq1yP5xz/+QVJSEnfccUdgQ7ZCKs4iItIYDd6LwTRNQkJC+Pbbb7HZbHTt2vX8mQpmmjhsHqpVnEVEJMDCw8N59dVXefLJJ3nrrbd8zztHRkZy3XXX8Z//+Z+Eh4cHOGXr46muxgwODnQMERFpYxpUnN1uN08++SSvvPIKNTU1eL1egoKCmDx5MlOnTvUtHNZe2UwTu9etqdoiItIqREZGMnv2bGZy2+DQAAAgAElEQVTNmkVxcTEAsbGx2mqpHparmqDoqLNfKCIi8gMNKs6PP/44b731FrNnz2bIkCEAbNiwgaeeegqv18u0adPOSchWw27HTqW2oxIRkYArLy/n/fffZ9SoUTidTuLi4nznysrK+OCDD7jqqqsICwsLYMrWx1Pt0lRtERFpsAYtDpaVlcUf//hHfvazn9G1a1e6du3KDTfcwH//93+zcuXKc5Wx9bCb2L2WRpxFRCTgXn/9dVatWoXT6TzlXEREBG+//TavvfZaAJK1blpVW0REGqNBxbmsrIzk5ORTjicnJ9fZS7LdMu2YXksjziIiEnCrVq3il7/85RnP//KXv+Stt95qwURtgxYHExGRxmhQce7bty+LFy8+5fiiRYvo27dvs4Vqtewmptej4iwiIgG3d+9eLrjggjOe79WrF/v27WvBRG2DirOIiDRGg55xfuihh7jzzjtZu3YtF154IQBff/01hw4dYsGCBeckYGtiM01Mj6Zqi4hI4Hm9XoqKikhKSjrt+aKiIjweTwunav08LhVnERFpuAaNOF9yySW88847jB07luPHj3P8+HHGjh3Liy++eNqR6HbHbsfwaKq2iIgEXu/evVmzZs0Zz3/22Wf1jkifj7yWhdftxtB2VCIi0kAN3sc5ISGBqVOn1jm2fft2Vq9e3WyhWi3TjuFxax9nEREJuBtvvJE//vGP9OrVi1GjRtU59/777/OXv/yF3//+9wFK1zp5qqsBNOIsIiIN1uDifF6zm9gsC5fLHegkIiJynrvppptYv349//Ef/0GPHj1ISUkBYNeuXezdu5err76am266KcApWxcVZxERaSwV5wawmSY2vNTUqDiLiEjgPfHEE/z0pz8lKyuLPXv24PV6SUlJ4b777uOaa64JdLxWR8VZREQaS8W5Iey1vy6b5cZtebCbDXpEXEREpNldc801Ksl+slwqziIi0jh+Fee77rqr3vMVFRXNEqbVs5sAtXs5V1vYQ1WcRUQksMrLy1m7di379+/HZrPRtWtXfvzjH+N0OgMdrdU5OeJsBqs4i4hIw/hVnGNiYs56vkuXLs0SqFUza39ddq+Hqmo34aGOAAcSEZHz2apVq5g1axalpaV1jkdGRjJ79myuvvrqACVrnTxVVQAYISEBTiIiIm2NX8X5scceO9c52gTbD0acj1e5iYsKcCARETlv7dixg4cffpgxY8Zw++2306tXL7xeLzt37uSll17ioYceIiUlhT59+gQ6aqvhPn4cAHt4eICTiIhIW6O5xg1hPznibFFaUR3gMCIicj5bvHgxw4cP58knn6Rfv34EBQURHBzMgAEDeOqppxg+fDiLFy8OdMxWxV1e+2iZGRYW4CQiItLWqDg3RFBw7T88NZRWuAIcRkREzmcbNmzgF7/4xRnP/+IXv2DDhg0tmKj1s3wjzirOIiLSMCrODWALrX0mKtRyacRZREQCqrCwkJ49e57xfEpKCoWFhS2YqPWzNFVbREQaSdtRNURoaO0/PNUqziIiElCVlZWE1LPIVUhICFUnFsOqT25uLhkZGZSUlBAdHU1mZibdu3evc82yZct4+eWXMQwDj8fDTTfdxM033wzA888/z6pVqzAMA4fDwdSpUxk+fDgAGRkZrF271rfI6NixY/nNb37TyHfcdO6KCmx2u7ajEhGRBlNxbgBbWG1xjqCGY+UqziIiElg7duwgKur0K1UePXrUr3vMnDmTSZMmkZ6ezooVK5gxYwaLFi2qc82YMWO44YYbsNlslJeXM378eIYOHUrfvn0ZNGgQt912G6GhoWzfvp3Jkyfz+eef+0r9nXfeyeTJk5v2RpuJu+K4pmmLiEijqDg3RHAw2GxEmW494ywiIgF3++234/V6z3jeZrPV+/qioiJycnJYuHAhAOPGjWPOnDkUFxcTGxvru+6He0JXVVVRU1Pju/fJ0WWAPn364PV6KSkpoVOnTo16T+eSdbwCU9O0RUSkEVScG8BmGNjDw4mw1ZCrqdoiIhJAH3zwQZPvkZ+fT0JCAqZ5YrtF0yQ+Pp78/Pw6xfnkz3vqqafYt28fDzzwwGm3uVq+fDldu3atU5oXLlzIkiVLSE5O5oEHHqj3uexzzTp+HLtW1BYRkUZQcW4gu9NJuLdGzziLiEhAhbfwyGlaWhppaWnk5eVxzz33MGLECFJSUnznv/jiC5555hleeukl37GpU6fSsWNHDMNg+fLl3HHHHbz//vu+ou6PLVu2NNt7KCk8jM1hJzs7u9nu2VLaYuaTlD1w2nJ+ZQ8MZT8zFecGskc4CS3TqtoiIhJYP/7xj886Fdtms5GTk3PG84mJiRQWFmJZFqZpYlkWhw4dIjEx8YyvSUpKYuDAgXz88ce+4rxx40Yeeugh5s+fX6dMJyQk+L6+/vrreeyxxygoKKBz587+vk0GDBhAcHCw39efSXZ2NiE2COuUQN8hQ5p8v5aUnZ3NkDaW+SRlD5y2nF/ZA+N8z+5yuer9Y62KcwPZIyIIPnpIxVlERALqXxfw+qHPPvuMRYsWnXVkNy4ujtTUVLKyskhPTycrK4vU1NRTpmnv2rXLN8W6uLiY9evXc9VVVwHwzTffMHXqVObNm0f//v3rvK6wsNBXnj/77DMMw6hTpluadfy4nnEWEZFGUXFuILvTiaNmL5UuNzVuC4fd/+lmIiIizWXo0KGnHMvJyWHu3Lls2LCBiRMncvfdd5/1PrNmzSIjI4P58+cTGRlJZmYmAFOmTOG+++5j4MCBLFmyhDVr1mC32/F6vUyePJkrrrgCgNmzZ1NVVcWMGTN895w7dy59+vRh2rRpFBUVYbPZcDqd/OlPf8JuD9x/ergr9IyziIg0jopzAzkinJiuSgBKK6qJiwoNcCIRETnf7d+/n6effpp33nmH0aNHs2rVKrp27erXa3v27MnSpUtPOb5gwQLf19OnTz/j65ctW3bGcy+//LJfGVqC1+PBU1WlEWcREWkUFecGsjud2FxV2LweFWcREQmoo0eP8vzzz/P6669z0UUX8dprrzFo0KBAx2qdXLXbSGofZxERaQwV5wayR0SA10uwp4bScj3nLCIigfGnP/2JF198kc6dOzN//nxGjBgR6EitmreqtjibmqotIiKN0KLF2eVy8eijj7Ju3TqCg4O58MILmTNnzhmPA+Tm5pKRkUFJSQnR0dFkZmbSvXv3loxdhz3CCUCIpZW1RUQkcJ555hlCQkLo1KkTr776Kq+++uppr3vhhRdaOFkr5XYDYDbDCt0iInL+adHi/PjjjxMcHMy7776LzWbjyJEj9R4HmDlzJpMmTSI9PZ0VK1YwY8aMelcSPdfsztriHOpxUVrhClgOERE5v11//fVn3Y5KfsCyALAFcHEyERFpu1rs06OiooLly5fzySef+D7oO3TocMbjAEVFReTk5LBw4UIAxo0bx5w5cyguLj5lq4yW4oiIACDUqtaIs4iIBMz//M//BDpC26LiLCIiTdBinx779+8nOjqa5557jvXr1xMeHs7999+P0+k87fGLL76Y/Px8EhISfPtQmqZJfHw8+fn5ASvOJ6dqR5tuFWcREZG24kRxNlScRUSkEVrs08OyLPbv30+/fv2YNm0amzZt4q677mLevHmnPf7ee+8128/esmVLs91r665dAITjYs+BArKza5rt3udadnZ2oCM0mrIHRlvODm07v7IHRlvOLvXznhxxdqg4i4hIw7XYp0diYiJ2u51x48YBMHjwYGJiYggJCTnt8dzcXJKSkigsLMSyLEzTxLIsDh06RGJiYoN+9oABAwhuhsVAsrOzGXLZZazlaeIcXkqDwhkyZEiT79sSsrOz20zWf6XsgdGWs0Pbzq/sgdEc2V0uV7P+sVaakeUBwLA7AhxERETaIqOlflBsbCzDhg1jzZo1QO1q2UVFRXTr1u2Mx+Pi4khNTSUrKwuArKwsUlNTAzZNG8Bmmpjh4YRTo6naIiIibYVVu6q2nnEWEZHGaNFPj9mzZzN9+nQyMzOx2+3MnTuXyMjIMx4HmDVrFhkZGcyfP5/IyEgyMzNbMvJpOSKchHm0OJiIiEibocXBRESkCVr00yM5OZnFixf7fRygZ8+eLF269FxHaxB7RAQhlS6OlVfj9Xq1HYiIiEhr55uqreIsIiIN12JTtdsTu9NJkLsKt+WhorLtLA4mIiJyvvJqxFlERJpAxbkR7BFO7NVVABwuqQxwGhERETkrFWcREWkCFedGsDudGFXHASg6VhXgNCIiInJWJ/dx1nZUIiLSCCrOjeCIiMBbeRy8Xo04i4iItAW+EWdtRyUiIg2n4twI9ogI8HoJ97goUnEWERFp/TTiLCIiTaDi3AjBHeIA6BLi1oiziIhIW3ByxNk0AxxERETaIhXnRgjq0AGATo4aio6pOIuIiLR2XsvCZprYDP2nj4iINJw+PRohOK52xLmj4eKIRpxFRERaP8ujFbVFRKTRVJwbwREdhc00ifZWcvhoJZblCXQkERERqY/lVnEWEZFGU3FuBJthEBQXS4znONVuDwcPlwc6koiIiNTHsjBUnEVEpJFUnBspuEMHQqtqC/Oug8cCnEZERETqpanaIiLSBCrOjRTUIQ5bWQlBdoPdKs4iItJG5ebmMmHCBMaMGcOECRPYs2fPKdcsW7aM8ePHk56ezvjx41m0aJHvnGVZzJ49m1GjRjF69GiWLl3q17mW5rUsbUUlIiKNpk+QRgqOi6OoaD3dUyPYdUDFWURE2qaZM2cyadIk0tPTWbFiBTNmzKhTjAHGjBnDDTfcgM1mo7y8nPHjxzN06FD69u3LypUr2bdvH6tXr6akpITrr7+eSy+9lC5dutR7rsVZlkacRUSk0TTi3EjB8fF4a2roHWtn98ESvF5voCOJiIg0SFFRETk5OYwbNw6AcePGkZOTQ3FxcZ3rnE4nNpsNgKqqKmpqanzfr1q1iptuugnDMIiNjWXUqFG88847Zz3X4lScRUSkCVScGymkUwIAPUKqqahyU1h8PMCJREREGiY/P5+EhARM0wTANE3i4+PJz88/5doPPviAa6+9lpEjR3LHHXfQp08f3z2SkpJ81yUmJlJQUHDWcy1Oi4OJiEgT6BOkkUISOwHQidrCvOvgMTrFhQcykoiIyDmTlpZGWloaeXl53HPPPYwYMYKUlJRz/nO3bNnSPDeyLCpq3GRnZzfP/VpYW80Nyh5IbTm/sgeGsp+ZinMjBXfoAIZBhKsUw3Cy++AxLh+UdPYXioiItBKJiYkUFhZiWRamaWJZFocOHSIxMfGMr0lKSmLgwIF8/PHHpKSkkJiYSF5eHoMGDQLqjjLXd85fAwYMIDg4uJHv8HtrX15MZEw0A4YMafK9Wlp2djZD2mBuUPZAasv5lT0wzvfsLper3j/Waqp2IxkOB8EdOlB96BDJ8U52HSgJdCQREZEGiYuLIzU1laysLACysrJITU0lNja2znW7du3yfV1cXMz69evp3bs3AGPHjmXp0qV4PB6Ki4t5//33GTNmzFnPtThtRyUiIk2gT5AmCOmUQFVBAb0v/glrN+djebyYhi3QsURERPw2a9YsMjIymD9/PpGRkWRmZgIwZcoU7rvvPgYOHMiSJUtYs2YNdrsdr9fL5MmTueKKKwBIT09n06ZNXHXVVQDcc889JCcnn/Vci7PcKs4iItJo+gRpgpBOCRStW8+FvTvy3hf72Ln/KH27xZ79hSIiIq1Ez549T7u/8oIFC3xfT58+/YyvN02T2bNnN/hci9PiYCIi0gSaqt0EYV2TcZeV0T8+CJsNNm4/FOhIIiIicjqWB5tDxVlERBpHxbkJwnv0AMAoPMgFydGs3Zyv/ZxFRERaIa9GnEVEpAlUnJsgvHt3ACp25zLmx93Zk1/Kxh2HAxtKRERETmVZesZZREQaTcW5CezOcILj46nYs4eRQ5LpEBXCmx9/F+hYIiIi8q9UnEVEpAlUnJsovEd3ynfl4rAbjL20O1/vPEz+kYpAxxIREZEf0lRtERFpAhXnJopM7UtVXh7VxUcZNbQrhg3e+2JvoGOJiIjID2nEWUREmkDFuYmiBg8CoGTTJuKiQhmSmsD7X+zDsjwBTiYiIiJA7cKdKs4iItIEKs5NFN69G/bISEo2bQZgzLBuHC1z8UVOQYCTiYiICACe2j9mGw5HgIOIiEhbpeLcRDbDIPrCQZR89RVey+Li1ATiY0J54pWv+OeW/EDHExEROe953G4AjTiLiEijqTg3gw6XXUbNsVKObd6CaRr8zz3DSYgNY9GqHO3rLCIiEmDemhoADIeKs4iINI6KczOIGfIjzNBQDn/yGQAdY0K5cWQv9heWs2mn9nUWEREJJI04i4hIU6k4NwMjKIgOwy/nyOdrqC4+CsDwCzsTGxnMX9/KwfJo1FlERCRQvDW1xVnbUYmISGOpODeTzjdcj8ft5sAbywAIcpjcft0AvjtwjJWf7Q5wOhERkfOXRpxFRKSpVJybSWhiIp3GXEX+W29zZO06oHbUeVj/Tvz1rRz2FpQGOKGIiMj5yesrzlpVW0REGkfFuRn1uP1WwnumsOell/G43dhsNu79+YV4vF4++epAoOOJiIicl04WZ03VFhGRxlJxbkaGw0HXSRNxHT7CoQ8/BiDKGcwFydFs/u5IYMOJiIicp3xTtbWqtoiINJKKczOLGXIREX37kLvgRY5t3gLAoF4d2Lm/hEqXu861lsfL3vxS9haU8kVOAWs25XG8qiYQsUVERNotjTiLiEhT6ROkmdlsNlJ/n8Hm6Y+Q89+P0XXSRHpv/pYIVwL/9/63jPlxNyyPl4rKGhav2sbX/7JdVURYED+7sidxUaFUutwYNhjavxNxUaEBekciIiJtm+fEPs5aHExERBpLnyDngCMykv6zZ7Jtzh/Z89LLAIzrexl/+3Anb3y403edYYNbru1Hp7gwIsKCMA0br7+3g0WrttW536vv7mDEjzrTp1sMF6cmEOQwsZuaLCAiIuIPr1bVFhGRJtInyDkSHBfL4P99gqq8fLbPfYJ+xlGeuG84+wvLsJsGIQ6D6F2bML55h+ojR3AdPowjOZlfd+yA+6JoLEcQsf1SKYuIY8E/cli9fi//+Gw3hg08XujWKYJBF3TkuuEpdIoLD/TbFRERabU0VVtERJqqRT9BXC4Xjz76KOvWrSM4OJgLL7yQOXPm+M4/99xzPPvss6xcuZLevXsD8PXXXzNjxgxcLhedO3fm8ccfJy4uriVjN5rNZiO0cxLRgweRt2Ilca/9P4bd8DOC4uLY9fx8irI3Ync6MYKDCOvaFdehQ5Rs/Nr3AX8UCIqLZVJkFBH9UjlaVkXRvnw8YRHYv9rBtq1J3P/phaTE2DkWHEn6iJ4kxIbSuWMEsZHBGIYNm80W2F+CiIhIgHlqTi4Opu2oRESkcVq0OD/++OMEBwfz7rvvYrPZOHLk+5Wmt27dytdff03nzp19xzweDw899BCPPfYYF198MfPnz+eJJ57gsccea8nYTRbZvx95K1ZStG49RevWg82GzTRJ+fcpdLp6TJ1yW3PsGF7Lg7uigvJduzny+edYlVUUvP0ORlAQcRFOXHu2EZHal7Bt2/hR6U6MXW6Kwjty/MsaDllVfOTswf7QBEJioig1Qknpm0x1dQVltgNcNjAR0zQoKavSc9MiInJe0IiziIg0VYt9glRUVLB8+XI++eQTX1Hs0KEDANXV1fzhD3/gySef5Oabb/a9ZsuWLQQHB3PxxRcDMHHiRNLS0tpccY6+cDCdrh5L3KXDKNvxLV7LIn7kTwjp1OmUax1RUQAExcYQltyF+CtHAGBVVmIEB4PNhlVRgd3pJP+tVRS8+x5xl12K86uNVFe78UTGcMk3XzH02DYoqL2ntdVGUVAU5W+7edt0UBiRSHxpHu7kFLqNTSOqdy+SIu2EhoficVVjj3BqpFpERNoNj1uLg4mISNO02CfI/v37iY6O5rnnnmP9+vWEh4dz//33c/HFF/PMM89w3XXX0aVLlzqvyc/PJykpyfd9bGwsHo+HkpISoqOjWyp6k5nBwfS8awoA0YMHNe4eod+PDtudTgASr72GxGuvAaDrxJ/7zlfm51NzrJSakhLcFRUU5x7AzNmCPSKWYwfy6H8kh8rYTth3b6L6+a8owOAwHryADbBCwjma1BPnJcPodHg3FW6I7dSBiPhY4i67FHt4OJ7qamwOhwq2iEgbl5ubS0ZGhu+zNTMzk+7du9e55vnnn2fVqlUYhoHD4WDq1KkMHz4cgFtvvZWjR48CYFkWO3fuZMWKFfTt25eMjAzWrl1LTEwMAGPHjuU3v/lNi74/0OJgIiLSdC32CWJZFvv376dfv35MmzaNTZs2cdddd/HMM8+wZcsWHnzwwXP2s7ds2dJs98rOzm62e51zDjtER8GPogj5UX8AYr1evCUlBEdH4yqv5NhXOXD4MEcJoeBwJeVeO4muInrt2Ubw7m8owgC8FOKlENjx4iLMmCjIy4OgIMzBA7F16oTZqyfWrl1Q5cIc8iNsDgfW9h2116T0aPJbaVO/93+h7IHTlvMre2C05eyNNXPmTCZNmkR6ejorVqxgxowZLFq0qM41gwYN4rbbbiM0NJTt27czefJkPv/8c0JCQnj55Zd9173//vs8/fTT9O3b13fszjvvZPLkyS31dk7LN1XboeIsIiKN02KfIImJidjtdsaNGwfA4MGDiYmJYcOGDezatYu0tDQACgoKuP3223nsscdITEwkLy/Pd4/i4mIMw2jwaPOAAQMIDg5u8nvIzs5myJAhTb5PIJwx+5XDfV+WH69md94xOsWFExtq8O2Ha/m2IgivM4qlH39HRFkRlx39hrASN3tiBtDZdJG84SsMrxf3D27pXv0+RrgTT0U5ACF9+1BTWkrNsVKiLxyMYbcTkdqX43v3EjWgP6FdumAzDMp376bj8CuwmeZps1fm5RHcsSNGG1rcpV3+f6aNaMv5lT0wmiO7y+Vq1j/WnmtFRUXk5OSwcOFCAMaNG8ecOXMoLi4mNjbWd93J0WWAPn364PV6KSkpodO/PHL0xhtvcOONN7ZM+AbwaMRZRESaqMU+QWJjYxk2bBhr1qzhiiuuIDc3l6KiIiZPnszdd9/tu+6nP/0pL7zwAr1798bj8VBVVcWGDRu4+OKLef311xk7dmxLRT7vOMOCGNSro+/7ftf8lH4nvh71kz7sKyij+NjVrPh0F327x7Jp/1G2mTbKv/2WuGP5HInsRHW1Rffj+US4KzielErHqFASDn2HFeokrl8Pjn65AZvdzuFPPgXDoODtd+tk2PvXv2EzDbDZiBo0CFdhIdUuF9/83zLKtu8g9sfD6JvxEN6amnqnilfk7qGmtLTRU+NFRM4H+fn5JCQkYJ74g6VpmsTHx5Ofn1+nOP/Q8uXL6dq16yml+fDhw6xbt45HH320zvGFCxeyZMkSkpOTeeCBB+jZs+e5eTP18NZocTAREWmaFv0EmT17NtOnTyczMxO73c7cuXOJjIw84/WGYTB37lxmzpxZZzsqaXkRYUH0T6ndBmz4jzrXOVd0bAi7Dx7joj7xbNp5hD35pQQ7DD766gA7yqsps1+Aq8bCKvHgSe7Jhb1iCdrzLUeiOxNeeoQ+ERY9I7306t+DkuyvsJkG3upqitauwx4ehqe8gpqoKDpccTlHPl/Dl7feQU1JCY6YGOKvHIHryBGcF/TCXVpGTVk5ZmgIBe+sxlNdTY9f34K7ooKqggKiBw+m45UjOPzxpxSt+ydd/u0GIvr0DsSvU0SkTfriiy945plneOmll045t3z5coYPH16ncE+dOpWOHTtiGAbLly/njjvu4P333/cVdX80xwi+e98+AL7atAmbYTT5foHQlh8jUPbAacv5lT0wlP3MWrQ4Jycns3jx4nqv+fDDD+t8f9FFF7Fy5cpzGUuaKC4q1Le11UV947mobzwA116RAoDX6+V4lZvX39tBRWUNH3y5jz7d+hDvDMLoHMfqXUWU7qkmuqgKw9af41U1DOufyGVX/5J9RRUUHSng1hsup7KqhgP2GCJqjpHQOYGybds5+OYKzPAwjny2BgwDR4QTd8VxQjsn4alxk/viQrDZsEdEcPjjT9m7+BWqi4uxmSZlO3YQmpxMZN8+VJccw+Oq4vi+/XS44nLCkrsQHB+Px+WidNt2guLi6Dj88lOmkfvD6/VqETURaZUSExMpLCzEsixM08SyLA4dOkRiYuIp127cuJGHHnqI+fPnk5KScsr5v//97zz88MN1jiUkJPi+vv7663nssccoKCios/Xk2TTH41Z7t+3ggM3GxZdc0qT7BMr5/ghEoLTl7NC28yt7YJzv2c/2uJXmLMk5Z7PZCA91cPt1AwC47boBhIfYfWXS8njJ3lbIZ18fpMbyEB7iYN3mPD7ZeMB3j3+szzrxVSzhoQn0jYlh4MghxKW5yK00CKosJzqpI26vjVGXdMVhN/BUV+MqLCSkUydspkle1ipKc7YRe8kQnL16sf2xudQcO8aBN/6OPSICr2URkpjIvldeO+37OPDGMqyK4wR37Ej10WJCu3Sh/LtdBHeIo/LAQWwOB7EXD8F5QU/Kd+7C467Btf8AW954k/5zZtVOHy8pITI1Fbsz/Iy/L6/H02ZHRESkbYmLiyM1NZWsrCzS09PJysoiNTX1lGna33zzDVOnTmXevHn079//lPt89dVXlJWVMWLEiDrHCwsLfeX5s88+wzCMOmW6pXjdbmjEHz5FREROUnGWFucMrbu4l2nYGNq/E0P7f/+83F03DGL7nmKcYQ7WfrkZI6QDdrtBj6Qo3lm3h/yiCl5etQ0AwwZewOut3bj65ayteLwQGxFCckIEyQllJMSGMfLqq+mcPh635cGw2Rjy5+cBcB8/jj0szPeza8rKcB06TFVhITbTTmRqH45t3sKBpcsI6pxEZX4BwTBwzccAACAASURBVHFxHNv0DZH9++GpriZhdBpWZRXFX37J4U8+xREdjdfjwVtZSWlNDRvv/S1Vefm17zc8HJvNRmT/VNzlFeD14oiOJu6ySylas5aSb76h+82/IqhDHDbTpPrIEaqPluDs1ZOQxEQO/v1Nwrt3I35UGoc+/IiYIRcREh9f53fqqalpU4uoiUjgzJo1i4yMDObPn09kZCSZmf+/vXuPj6q+Ez7+OXO/33KdJCQhCYmRJNxSERQV0IIWhK0vWx8e3bbenq3P6q59rUJ1F9fLroW2u7VK69OLbt26dbUqdVEBKyJSECEgEO6EEBJyv19nMpfz/DEwMAQiApIZ+L5fL16vmXPOnPnOOWfy5Tu/3/n9lgBw33338dBDD1FaWsqTTz6Jz+dj8eLF0dctXbqUoqIiINLaPH/+/CFdsBcuXEhbWxuKomCz2fjlL3+JbgTuMw5L4SyEEOI8SeEs4pJep6G0IBmA9iwzkyadmNqkvDjSWtHe7aOnf5CMZBuBYIjWzgFqm3vZurcZk0FLZ4+fHQdb2bK3iXBY5T/f38PksV7WbavDYTPithtRlEhX87KCZJw2I7leB2FVRWtPISv/RFfE5GumknzN1JgYQ34/2lO6D4aDQQKdXRiSPKjBIFu3bsWzczc9e/eSc9f/xlY4hsaVqyEcpv2zzZi86ehdLrp376Ftw0Y0RiOmtFSqfvn/vvAYVb/8CmoggN7pIPnaa2n7dBOWUVkoWi1dOyvJvO2vSJp8Fb7mFgweN31Vh/C3tmK/ogh74Rga3luJs7QE59jIEHDhwUHQaOirOoRtTEH0fbr37mOgtpa0m278kmdRCJEI8vPzeeONN4Ys//Wvfx19/Oabbw67j2eeeea0y0+eqmokqYGAFM5CCCHOixTOImF5HCY8DhMQKbSz0/Vkpzu4piwjuk0oFCaswoHaDpZ/XMWailpK8pKwWfT4B0OEwypVdZ1s3NkwZP95mU5S3Wbcx97HbTdSmO0m1+vAHwjhG4T9BxsZm5eE9Vgrukanw5gcGURN0etRdDry7v1ezH5dZaVApFVY0WpRNBpCPh/du/dgLypEYzTSd6gaFAU1EEBjMmH2ptO9Zy/+5hbsxVfQd+gQPfv2YysooHHlKhrefQ9HyVj8bW34WyLFce0f/pvaP/x37IdSFFDV6NO6N97Ec9XX8DU101dVhTE1FX9zM6b0dHxtbWzPyaa/to6w30/voWp0FktkGpptn2NMScZ7y830HqoGwD6mAPsVRfTXHEHRatE7nRg8btRwmGBPD1qrdciItgP19egdzmG7rgshxPkKB4Ogk8JZCCHEuZPCWVzStFoNWuDK0UlcOTqJQDCMXhd7/7CqqrR0DtDdN0htUw8aRaG5o58dB1qpb+1j16F2evoHo9unus20dfkIhSMFqMWkw2E1MG18JoFgmLKCZAYDYZJdJnYf6cee0kFhtntIbCd3pdaaTLgnTog+txeOGbL9yeutOdmkTr8BgLQbZxDs7UNrtaAoSnQwsp4DB+mvqcGSk4O/pQWdzYa9qJCePXvp3r0H6+jRtG7YQO+BgxjcbtK+fiPtn20h/eZZ9B2uIZDpRTPgw5yVhd5uo/G9lShaLaqqYskeRef2nbRv2hwTo6LTRe4lPP45iooIdHXia2xCYzKhs1jQu13k3LmA/poj1Pznq2gtFlJuuJ6OzZtBUciYG5nrfaChgf7DNdiLCnGNH4f9iqKYYxbsH0Cj06IxGIYcq2D/AMHPtxMqKRnSK0AIcflRg8FzGtxRCCGEOE4KZ3FZObVohsjgZaluC6luCwVZrujy22eemKoqEAzR1uVj+4EWNu9uYmpZBh6HifQkK5t3N1LX3MsbHx5Ao8Dyj6ti9v/6+nWMznAQCIZJdppJ9VgozvVwpKmHFJeZaeMzqa7vItfrwH2sBR2+3GjcJ7fYHn+NfUwB9mNdru0ndb12jR+Ha/w4AJKmTI7d0f898bCiooLSY6MTqqpKaGAg5l7wYG8fPfv3Y87MRGe10rljB107dmK/ogit0UhfzRE6t32OKT2d9FtuZqC2jmBfH107K9n9ZKRbp7OsFEWjoeF/VmAbMwYUOPSr30Q+h06HZVQWdW8tp+6Pb6ExmTCmJBP2D2JKT6PvUDVaq4WkKVfTue1zkqZOwZKVSffuPXTv3Uew6hA7d+3FceUVhAZ86GxW9HY7jiuLaVm3ntBAP5acHHyNTfTX1GDyekmeejWu8eOGFOMhn49gXz/GJE/0eXgwgN5hP+35GKivjwxKd2yQNzUcZrCjM/p6IcTFFQ7IPc5CCCHOjxTOQpwFvU5LepKV9CQrs67OjVk3pdQb6b7c40er1VB9tAuzSUdnj5+m+mq6gi6qjnZh1Gupb+2l6mgnqzfVoNEohMMqv1q+M7qvgiwnZQUp7DvSwYHaTiZdkcqAP0hWqo1vzSzEYTNS39LL0ZZestPtZCTbCIdVNJqvdrorRVFiimaIFOsnt4InT51C8tQp0edJU64m+45vDdlXoLuHvsOH0TudWLJHoSgKoYEBNCYThMN07dqN2evF4HGjaLWRYrtyF53btjPY3obWZKb34EEsuTkMtnfQ8D/vYkxLjXZL15hMaM0mtFdPJlhVRdMHH6I1Ggn29UVbwzVGIzqblZa169CYTNjy82j/bDMtH62NdI3PzCTU14fGaEBntdKz/wBqKETyNVMxZ2XSvGYtg+3tuCdNwFZQAKpKOBDANqaAru07aXj3PZKmTiHY04Pe5UQNBmn79DOybvsrwsEgaiiEJSsL86ismHvMFa02sl5VI9O4HamN3LeuGdpLAsDX2HRsX2c/tY8QlyMZVVsIIcT5ksJZiAtAUZRoa/G4wpTo8grfUeZOKo7ZNhRWqaxqJSvVRke3n7Vb6yjO9XC0pZcte5pYvq4Kq0lPeXEq1fXdWM163v1LNSvWV2M0aPEPhqL7yki20tzRT5LTzKyrcwiGVFBVdlW3cc+tJYzOcF6cA/Al6B326H3ex2nN5mMPtEPW6axWkiZfRdLkq864T1VV6ajYis5qxV44BkWrPTafX+ycsp07duKrbyD5umnoLGYC3T1oTUY0BgPhQICunZW0b96Cr74Bc0Y6Yf8gg52deL9xM2owSOv6v9C6/i8YkpNJnTkjsv2mSBdzFAXCYQAs2aNo27ARg8dDX80Rgt3dmDK81P3xrci974oSGYxNUbDm5hLy+/A3t6CzWgj09ILdzlarFV99Pc6yUqyjcwn7/YQHB/E1NtF7sAoUhXAgAKpK0tWTMY/KwuxNR2e3071nL6b09Ejh7nSSNHUKWqOBrp2V9NfWYc7MoHvXboL9/SRNuTry+X0+9C4XfYdrIBzGkJxE+6ebSLn+OgaO1uMun4TeYaf+f96lYcW7FP/TY5i9XsLBoHSHF3FPCmchhBDnSwpnIS4yrUZh3JhIcZ3kNFMw6kT38G/dWHistZGYVuR9Ne3sremgobWPFJeZ0oJk9hxuZ+u+ZiYWpXKovotXjk3PBWA0aHnop2tJdpkpL05Dq1E42tyLyajl2nGZVOxtor6lD6fNyNg8DxkpNsYXptDU1k9Wqo361j7qWv3UravipquyMeq1aLXxO7e0oih4yr940ntXWSmcVJif3NVao9fjnjghphX9VHn33xsZ1E2jid4vGezvjw7y1r1rN8a0VIzJyTSv+YikqyejMRjoO3av9mBbGwaPh3AwyGB7BzW/ewV/SyvW0bm4J00k0NWF3umiaf9+zDYrnq9NoumDD+nZfwCt0YDGaETvcJA26+ughtGaTIT8g7Rt2Ejbp5tODPx2yiBw1S/9B4qiEOztPfFhNBo0BgON760c9pg1vPs+ADqbDfOoLHr27gNVZcejP0RRIgPbJV97Dbnf+w4dWyoIVh2ksa0dRaul/0gtWrOZ/sOHseTmRnoKZGfjb2klY84t+FvbsBeOYeDoUcxZWbSs+4TB9naCPb3onQ5MXi+2/DxsYwoiPRP8fvqqD2Nwu2jbuAnvN24mNODD39qCv6UV96SJQwag8zU3Y3C7ZXq2y1w4GASNFM5CCCHOnRTOQsQZRVE49dbmohwPRTmx98cWZruZd10+EGlxrWvuxe0w0d3rx2zU8fG2Orbta2H950ej0251NPj4tLIRk0HLFbke6lt7+Wx3ZP5rg17LYCCEy26ks8d/7F1a+O07lbjtRv7pnqt5+6ODANw7v4Sjzb2s3lSDTqshP8vFivWHuH1mITPKR32lx2eknVqAndyF/fi94wDps74efewojkynZkyJ/GCi1Woxe9O5YlFsi/hxHRUVXHns/vLRd3/3C2PKu/d7qOEwA3V1BPsHsIzKwtfUhDE5mYGj9TSt/jOKVot70gQsOdn4m1uwFY5Bo9PRvGYtaiiIweMh5PdjHT0ajU5H/5Ej6F0u6v74Fu5JE+nZtw9/cwveb9xMynXTaFy5CjQatEYjDe+vomXtx9F4jt/lr2i1qKEQWquVto2b0FqtdGyuAI2G1nWfxHyG6MByioLWYiHs86GGIr0rdHYblpwc+qoPH+tCbyTs99P4/ip8jY3RfRiSk7EXjSE8GKC/pgatxUJ/zREsOdkkX3sN/pZWbAV5tG3chN5hR9HpCHR0EujqImPeXLDG3o4gLh2RwcHi98c/IYQQ8U8KZyEuAYqiMCot0npqOzY11vzrC5h/fUHMdoFgmJqGblLcZpy2SPfajh4fB2s7WbOlFo/TxOZdTdx6Sx6NDfVMKitkz+F21lbU8fC/RwojjQLrPj8KgNWkQ1EUPvjsCDqthp+9tpVPKxvYU93OzK+NIjPFRp8vQH6Wi7Gjk6hp7Gbr3mZGZzqZWJQajSsUCsd1i3YiUDQaLNnZ0ee2vMg85HqHI1q4H2fOODFlW/rsr3M65szINlf+02MAeG+ZHbPeXnRi8LyU6TfQtWMn1twcDra3UVpaSjgYxJiSghoIoDWb6a06hC0/j2BvLwP1DbR8vA57UWF0+rSmVR+gMegZfe/daPR6Qn4/oYEBuit30bVrD/01NSRNvgq900HzmrVYskfRe+AgKdNvwJKViTkrk4YV79FXVY3GaMCSk0Ogq4uUG66na8cOjvz+v1B0OppWrUbvdqHR6VDDauR+eIuFtg2fwk0zzuMMiHgmXbWFEEKcLymchbiM6HWamK7hAG67ia9dmc7XrkwH4L55ka7MFRU9TCrLYGpZBt+4ZjQbdjSQ63VgMmrZf6STFJeZCUUp6HUatuxppijHzX+s2MVHFXUUZDl581jr9HEOq4He/kGOzeLFmFEufINBxoxy82llA5PHpjPxijQMOg3+QIgppV58/hAH6zpRVZVwWCU73UHfQCDmM/QNBDAZ4rsr+aXu5BHcNRUVmNLTT6w8dv/z8SnW9E4neqdzSDF/6r3tGoMBvd2OaUYqqTOmx6zL+c5dhPr66dm3D9fECdGR5JOuPmWU+GMio8L7IByiZd16Uq6bdtq5wysqKr7EpxaJJCyFsxBCiPMkhbMQ4gulJ1n55vQTrddXjk6KWT+l1AvADxZM4p5bS3DajPQNBOjq82M16dm2v4UdB1pw2ozMuXY0b350kCON3dgtBtZsqSXFbeajijo+qqiL7tNhNdDvC0QGPDuFy24kI9nK+MJU3l57kCSnCYfVwDVlGahAbrqDgcEw2/e34HGaoq3x4tKgKEpkVPdJE89+e0tkALpTW87F5UENBuH4IIRCCCHEOZDCWQhxQR3vAm4167Ee6zZ+w8QsbpiYFd3m/vknWhdrm3pIcZvp7PETCIbxB0J09vj5cPMR0jwWJhSlggp1zT3UNveSkWLlcH03B2o7+a9Ve8lMsaLVKLR2+fj1nypPiaYegMwUGyajFp1WQygUprw4nTSPmcMNPazffpRgKEyq24JBr6WsIBmPw0SK20yu10GSM/Kf7Z7+Qbbta0ar0TC1zHvWc2wLIUZeOBAAm22kwxBCCJHApHAWQoyo463B6Umxf47Ki9Ninp88zddx9a29uGxGLCY9oVCYNVtqGZPtpqG1j08272HGlLHUNfew/UAroVCkKA+FFV77YB8AOq3CpCvScNmNNLX30+8L8IfV+2Leo6wgmY4eP0ebe6LdzKeNz0Sv09DQ2ofZqKN4tAeXzciAP0iqx4LLZiQjxcqAL0iK20JHj4+uXj8FWa4hI6YLIb56co+zEEKI8yWFsxAiYWUkn2hB0mo13DQ5B4BcrwPDYD2TitMoL04bMkjaYCBEW5cPu0WPzWKIWdfR7SMYUmnu6GfrvmY27qzHm2Rj2vhMJhSlsG1fC3/8cD8AY7LddPb4eXXl3rOK122PFNfTxmditxgoHu1h/5EONBoFi1GHxaSnONdDe0+Qt9ceRK/TcMOkUdjMenyDQUwG+ZMtxLkIB4LRKeSEEEKIcyH/CxNCXHYMei3e5KGDQwG4HSYAUtxmxuYlcdfNxTHrr8jxMHdaHqhqtOiuqutEp9OQ7DTT0NZHZ4+fuuYeLCY9LR0DuGwGuvsGqdjbjNmkY/32evyBEG+tPYhWo6AC4fCp93JHpll648MDZKbY2FXdxg0TswiHVdq6fLR1DaDRKJTkJzN+TEp00LZRaTbqmnuZUJhCdrqD/TUdpCVZ2HWojbF5SaQnnfjcobBKS0c/LpsRk1HSgbh0qcEg6KRwFkIIce7kf0pCCPElHZ/y67j8rBOjfBcce3xqV3OA/zUrMpK0qqo0tffT1uWjYJQrOmp4d98glVWtHDx0mPk3ldPVG2nNrmvp5WvFaWzcWY/daiTJYSI/y4V/MMTailpWbjw85L3+a9VeFEUZUpDnZzlJdppxWA3sOdxOXXMvHoeRB24bR3qyFbNRx4eba2ls68NlM7JxZwNOmwGnzYhep0Gn03Db9DH0DQRw2Y1kptgIh1VUQKuJvN+Rxm5S3RYpxkXcUINB0EjhLIQQ4tzJ/2qEEOIiUxSF9CRrTOsvgMWkJz3JilvbGl3/1P+ZOuy+/IEQR5t7GfAHyUi2snVfM+lJVj7f30JYVcn1Oqiu72JCUSp7qtvZfqCFpvZ+DtZ14rAauG9eCa9/uJ9nXv7spPgi05S1d/soynGj1Wpoau9nMBCivdvH2pNGPx+d4aCrd5BQOMz0SaP4aEsjXX1HSXKauHP2Few42IpGo+BNslJakExDax8GnZax+Ul4HCYCwTD7atqxWQykJ1lARQpuccGFg0E00lVbCCHEeZD/nQghRAIz6rXkZTqjz2d+LRuAsXknpgybNj4TgNL8ZL51Y+GQfVw/MYsjTT20dAww4AtQWpBMdrqDfl8As1EXM4J4bVMPm3c3kuN1UNvUy2e7GnHbI93b3/nkEB6blgduK+Pdv1Tz3H9/jtmoxWLSs6a7FnXliffUaRXKi9PYWdVG30AAjRIpmIPBMDqdhowUG1ePTafqaBe1TT0Y9FocFgMuu5Exo1zMKB+FPxBCVaGxrY9RaXaMeu0Zi+5gKExLxwDpSRYZEf0yo6rqscHBZK53IYQQ504KZyGEuMw5bUZKj00jdjKLST9k2ag0e3Qk9ElXpDH/+vzousFAiB3bt1FePpobr8rhk8/rGJuXTJrHQke3j51VrYzOcEbu7/7oIDsOtjB5bDpXl3jZvLuR3oEAKS4z/kCIvYfb+f3KvSQ7TYzJdhMIhunpH6TuUC9rt9bxm3cqoyOUH++OHimu9aAo2Mx6AsEQg8EwgUCY3oFBgiGVohw3qqqSlWqnbyBAT/8geRlO8jKdeCQjXprCYVBVGRxMCCHEeZH/JgghhLggDHpttDVXr9Mwozw7us7tMHHdhBNzeT96V3nMa6eUeofsr28g0uJ96vRduw618WllA06bkd7+QQpGuWjt9FHf2nus9VphwB/EoNei12kw6LVYTTqMei0fbD5CstPM5/tbsFn0GHQaPtxyhH5/BtcNbYwXlwJFwVY4Bn96+khHIoQQIoFJ4SyEECIuWc1DW7wh0g395K7oX8bxAdpOp6Ki4pz2KeKbotEw7sc/kvMrhBDivMgNP0IIIYQQQgghxDCkcBZCCCGEEEIIIYYhXbWFEEKIy1h1dTWLFi2is7MTl8vFkiVLyM3Njdlm2bJlvPfee2g0GvR6PQ8//DDTpk0DYNGiRWzYsAG32w3A7Nmz+f73vw9Aa2srjz76KEePHsVoNPL0008zbty4i/r5hBBCiAtBCmchhBDiMvbEE0+wYMEC5s2bx5/+9CcWL17MK6+8ErNNWVkZd999N2azmb1793LnnXeyfv16TKbIVGT3338/d95555B9//SnP6W8vJyXXnqJLVu28Mgjj7Bq1SqZEkwIIUTCka7aQgghxGWqra2N3bt3M2fOHADmzJnD7t27aW9vj9lu2rRpmM1mAIqKilBVlc7Ozi/c/8qVK7njjjsAKC8vx2AwsHPnzgv8KYQQQoivnhTOQgghxGWqoaGBtLQ0tMfmONZqtaSmptLQ0HDG1yxfvpzs7GzST5re6eWXX2bu3Lk88MADVFVVAdDR0YGqqng8nuh2Xq+XxsbGr+jTCCGEEF8d6aothBBCiLPy2Wef8dxzz/HSSy9Flz388MOkpKSg0WhYvnw59957L3/+858v2HtWVlZesH0l8pRUEvvISOTYIbHjl9hHhsR+ZlI4CyGEEJcpr9dLU1MToVAIrVZLKBSiubkZr9c7ZNtt27bxyCOP8Itf/IK8vLzo8rS0tOjj+fPn8+yzz9LY2EhmZiYA7e3t0VbnhoaGmJbqs1FSUoLRaDyXjxejoqKCSZMmnfd+RoLEPjISOXZI7Pgl9pFxucfu9/uH/bH2ki6cVVUFYHBw8ILt0+/3X7B9XWwS+8iQ2EdOIscvsY+M8439eL45nn/iXVJSEsXFxaxYsYJ58+axYsUKiouLY7pXA+zYsYOHH36Yn//854wdOzZmXVNTU7R4/uSTT9BoNNHns2fP5rXXXuOBBx5gy5Yt+Hw+SkpKzio2yeGxJPaRkcixQ2LHL7GPjMs59i/K4YqaKNn9HPT09LB///6RDkMIIcRlprCwELvdPtJhnJWqqioWLVpEd3c3DoeDJUuWkJeXx3333cdDDz1EaWkpt912G0ePHo1pXV66dClFRUV897vfpa2tDUVRsNlsPProo4wfPx6AlpYWHnnkEerr6zEajTz55JNMnDjxrOKSHC6EEGIknCmHX9KFczgcpq+vD71eL1NfCCGE+MqpqkogEMBqtaLRyPib50NyuBBCiIvpi3L4JV04CyGEEEIIIYQQ50t+DhdCCCGEEEIIIYYhhbMQQgghhBBCCDEMKZyFEEIIIYQQQohhSOEshBBCCCGEEEIMQwpnIYQQQgghhBBiGFI4CyGEEEIIIYQQw5DCWQghhBBCCCGEGIYUzmehurqab3/728yaNYtvf/vbHD58eKRDGtaMGTOYPXs28+bNY968eXzyyScAfP7559x6663MmjWLu+++m7a2thGOFJYsWcKMGTMoKipi//790eXDHfN4OR9niv1Mxx/i5xx0dHRw3333MWvWLObOncvf/u3f0t7e/oUxxkP8w8VeVFTE3Llzo8d+37590detWbOG2bNnc9NNN/H3f//3DAwMXPTYAR544AFuvfVW5s+fz4IFC9izZw+QGNf8mWJPhGv+uBdeeCHmOxvv17s4f/Hy/TlbksMvDsnhksPPRSLncEj8PD7iOVwVX+iuu+5Sly9frqqqqi5fvly96667Rjii4U2fPl3dt29fzLJQKKTeeOON6ubNm1VVVdVly5apixYtGonwYmzevFmtr68fEvNwxzxezseZYj/d8VfV+DoHHR0d6qeffhp9/qMf/Uj94Q9/OGyM8RL/mWJXVVUtLCxUe3t7h7ymt7dXnTp1qlpdXa2qqqo+9thj6vPPP39R4j1Vd3d39PEHH3ygzp8/X1XVxLjmzxR7IlzzqqqqlZWV6j333BONNxGud3H+4uX7c7Ykh18cksMlh5+LRM7hqprYeTwecri0OH+BtrY2du/ezZw5cwCYM2cOu3fvjv46ligqKysxGo2Ul5cDcMcdd7By5coRjgrKy8vxer0xy4Y75vF0Pk4X+3Di6Ry4XC4mT54cfT5+/Hjq6+uHjTFe4j9T7MNZt24dJSUl5ObmApHY33///a8yzDOy2+3Rx729vSiKkjDX/OliH068XDMAg4ODPPXUU/zzP//zWcUXT7GLcxdP35/zEa/Xo+RwyeEXKvbhSA7/auMfTrxcN/GSw3XnvYdLXENDA2lpaWi1WgC0Wi2pqak0NDTg8XhGOLoz+4d/+AdUVWXSpEn84Ac/oKGhgYyMjOh6j8dDOByms7MTl8s1gpEONdwxV1U1Ic7Hqcff4XDE7TkIh8P84Q9/YMaMGcPGGI/xnxz7cXfddRehUIjrrruOBx98EIPBMCT2jIwMGhoaRiJkAB5//HH+8pe/oKoqv/nNbxLqmj819uPi/Zp/7rnnuPXWW8nKyoouS7TrXXx5ksMvvkT6e3Ym8f737GSSwy++RM7hp4v/uHi+7uMlh0uL8yXo1Vdf5Z133uHNN99EVVWeeuqpkQ7pspJox//pp5/GYrFw5513jnQoX9qpsa9du5a33nqLV199lYMHD7Js2bIRjvD0/uVf/oW1a9fy8MMPs3Tp0pEO50s5Xezxfs1v27aNyspKFixYMNKhCPGF4v37dKlLtOMvOfziS+QcDomXx+Mph0vh/AW8Xi9NTU2EQiEAQqEQzc3NX6p7z8V2PDaDwcCCBQvYunUrXq83pitMe3s7Go0m7n6phuGPeSKcj9Md/+PL4+0cLFmyhJqaGn72s5+h0WiGjTHe4j81djhx7G02G7fffvsZj319fX1cXDPz589n06ZNpKenJ9w1fzz2jo6OuL/mN2/eTFVVFTNnzmTGjBk0NjZyzz33UFNTkzDXuzg38fr9GY7k8JEV73/PTiY5fGQlcg6HxMnj8ZTDpXD+AklJSRQXF7NixQoAVqxYJcNzTAAABu9JREFUQXFxcVx1KTpZf38/PT09AKiqynvvvUdxcTElJSX4fD62bNkCwGuvvcbs2bNHMtQzGu6Yx/v5ONPxB+LuHPzbv/0blZWVLFu2DIPB8IUxxlP8p4u9q6sLn88HQDAYZNWqVdFjP23aNHbu3BkdyfK1117j5ptvvuhx9/X1xXQvW7NmDU6nMyGu+TPFbjQa4/6av//++1m/fj1r1qxhzZo1pKen89vf/pZ77703Ia53ce7i5ftztiSHjyzJ4SMXu+TwkYs/3vN4POVwRVVV9bz3comrqqpi0aJFdHd343A4WLJkCXl5eSMd1mnV1tby4IMPEgqFCIfD5Ofn84//+I+kpqaydetWnnjiCfx+P5mZmfz4xz8mOTl5RON95plnWL16Na2trbjdblwuF+++++6wxzxezsfpYn/xxRfPePyBuDkHBw4cYM6cOeTm5mIymQDIyspi2bJlw8YYD/GfKfZ7772XxYsXoygKwWCQCRMm8Nhjj2G1WgH485//zI9//GPC4TDFxcX86Ec/wmKxXNTYW1tbeeCBBxgYGECj0eB0Olm4cCFjx46N+2v+TLE7HI6EuOZPNmPGDF588UUKCwvj/noX5y8evj9nS3L4yMYuOXzkYpccPnLxJ1oeH8kcLoWzEEIIIYQQQggxDOmqLYQQQgghhBBCDEMKZyGEEEIIIYQQYhhSOAshhBBCCCGEEMOQwlkIIYQQQgghhBiGFM5CCCGEEEIIIcQwpHAWQpyzoqIiVq5cOdJhCCGEEOJLkhwuxJejG+kAhBDnZtGiRbz99ttDlo8bN47XX399BCISQgghxNmQHC5E4pHCWYgENnXqVJYuXRqzTK/Xj1A0QgghhDhbksOFSCzSVVuIBGYwGEhJSYn553K5gEgXrN///vfcf//9jBs3junTp/OnP/0p5vX79u3ju9/9LmVlZVx11VUsWrSInp6emG3efvtt5s6dS0lJCVOnTmXhwoUx67u6unjooYcYP348M2fOHPIeL7zwAtOnT6ekpIRrrrmGRx999Cs4EkIIIURikRwuRGKRwlmIS9jzzz/PjBkzWL58Od/61rdYuHAhO3fuBKC/v5977rkHi8XCG2+8wQsvvMC2bdt47LHHoq9/7bXXWLx4Md/85jd55513+NWvfsWYMWNi3mPZsmXRZHvLLbfw+OOPU19fD8CqVat46aWXeOKJJ1i9ejUvvvgiZWVlF+8ACCGEEAlKcrgQ8UW6aguRwD755BMmTJgQs2zBggU88sgjANx0003ccccdAHz/+99n06ZN/O53v+MnP/kJK1asYGBggKVLl2Kz2QB46qmn+Ou//mtqamrIycnhF7/4Bd/5znf43ve+F91/SUlJzPvNmzePefPmAfB3f/d3vPLKK2zevJl58+ZRX19PSkoK11xzDXq9noyMDEpLS7+y4yGEEEIkCsnhQiQWKZyFSGDl5eU8/fTTMcvsdnv08fjx42PWjR8/no8//hiAqqoqioqKogkXYMKECWg0Gg4ePIjNZqOpqYkpU6YMG0NRUVH0sU6nw+Px0N7eDsDs2bN55ZVXmDlzJtdeey3Tpk1j5syZGAyGc/vAQgghxCVCcrgQiUUKZyESmNlsJicn54LvV1GUs95Wp4v9M6IoCuFwGACv18vKlSvZuHEjGzZsYMmSJSxbtozXX38di8VyQWMWQgghEonkcCESi9zjLMQlbPv27UOe5+XlAZCfn8/+/fvp7e2Nrt+2bRvhcJj8/HySkpJIS0tj48aN5xWD0Wjkhhtu4LHHHuOPf/wjBw4cYOvWree1TyGEEOJSJzlciPgiLc5CJLDBwUFaWlpilmm1WjweDwCrV6+mtLSUq666ilWrVrFx48bo/JBz587l5z//OQsXLuShhx6iu7ubxYsX8/Wvfz36C/jf/M3f8Oyzz5KcnMz111+Pz+dj48aN3H333WcV31tvvUUoFKKsrAyLxcL777+PXq//Sn5hF0IIIRKJ5HAhEosUzkIksA0bNnDttdfGLEtLS2PdunUAPPjgg6xatYpnnnkGj8fDs88+Gx0R02w289vf/pZ//dd/5fbbb8doNDJz5kwef/zx6L4WLFiAXq/n5Zdf5ic/+QlOp5PrrrvurONzOBz8+te/ZsmSJQSDQfLz83n++ecZNWrUBfj0QgghROKSHC5EYlFUVVVHOgghxIVXVFTEc889x+zZs0c6FCGEEEJ8CZLDhYg/co+zEEIIIYQQQggxDCmchRBCCCGEEEKIYUhXbSGEEEIIIYQQYhjS4iyEEEIIIYQQQgxDCmchhBBCCCGEEGIYUjgLIYQQQgghhBDDkMJZCCGEEEIIIYQYhhTOQgghhBBCCCHEMKRwFkIIIYQQQgghhvH/AQ8irNpUif4mAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1008x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "tags": []
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    " model_optimal_beta.display_metrics()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "GHCkX097D3jZ"
   },
   "outputs": [],
   "source": [
    "ndcg_val_optimal_beta = model_optimal_beta.ndcg_per_epoch()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "I1ZwFx-JEXam"
   },
   "source": [
    "#### Prediction and Evaluation of Standard-VAE model using the optimal $\\beta$ with annealing."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "cMX8dc8vEmE-"
   },
   "source": [
    "Evaluate with recommending 10 items."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 104
    },
    "id": "8chehXIr4FCD",
    "outputId": "02995ef7-0f9a-4dd4-e262-b430542e9b01"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 0.1775 seconds for prediction.\n",
      "MAP@10:\t\t0.066183\n",
      "NDCG@10:\t0.496464\n",
      "Precision@10:\t0.473000\n",
      "Recall@10: \t0.101120\n"
     ]
    }
   ],
   "source": [
    "# Use k = 10\n",
    "with Timer() as t:\n",
    "    # Model prediction on the training part of test set \n",
    "    top_k =  model_optimal_beta.recommend_k_items(x=test_data_tr,\n",
    "                                                  k=10,\n",
    "                                                  remove_seen=True\n",
    "                                                  )\n",
    "\n",
    "    # Convert sparse matrix back to df\n",
    "    top_k_df = am_test.map_back_sparse(top_k, kind='prediction')\n",
    "    test_df = am_test.map_back_sparse(test_data_te_ratings, kind='ratings') # use test_data_te_, with the original ratings\n",
    "    \n",
    "print(\"Took {} seconds for prediction.\".format(t))\n",
    "\n",
    "# Use the ranking metrics for evaluation\n",
    "eval_map_3 = map_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "eval_ndcg_3 = ndcg_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "eval_precision_3 = precision_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "eval_recall_3 = recall_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "\n",
    "print(\"MAP@10:\\t\\t%f\" % eval_map_3,\n",
    "      \"NDCG@10:\\t%f\" % eval_ndcg_3,\n",
    "      \"Precision@10:\\t%f\" % eval_precision_3,\n",
    "      \"Recall@10: \\t%f\" % eval_recall_3, sep='\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "g_s6tSw04yXl"
   },
   "source": [
    "Evaluate with recommending 100 items."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 104
    },
    "id": "351SMwhKJHmF",
    "outputId": "0b338959-1353-470b-bed1-b17111b2597f"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 0.4522 seconds for prediction.\n",
      "MAP@100:\t0.171624\n",
      "NDCG@100:\t0.443328\n",
      "Precision@100:\t0.251867\n",
      "Recall@100: \t0.409650\n"
     ]
    }
   ],
   "source": [
    "# Use k = TOP_K\n",
    "with Timer() as t:\n",
    "    # Model prediction on the training part of test set \n",
    "    top_k =  model_optimal_beta.recommend_k_items(x=test_data_tr,\n",
    "                                                  k=TOP_K,\n",
    "                                                  remove_seen=True\n",
    "                                                  )\n",
    "\n",
    "    # Convert sparse matrix back to df\n",
    "    top_k_df = am_test.map_back_sparse(top_k, kind='prediction')\n",
    "    test_df = am_test.map_back_sparse(test_data_te_ratings, kind='ratings') # with the original ratings\n",
    "    \n",
    "print(\"Took {} seconds for prediction.\".format(t))\n",
    "\n",
    "# Use the ranking metrics for evaluation\n",
    "eval_map_4 = map_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "eval_ndcg_4 = ndcg_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "eval_precision_4 = precision_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "eval_recall_4 = recall_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "\n",
    "print(\"MAP@100:\\t%f\" % eval_map_4,\n",
    "      \"NDCG@100:\\t%f\" % eval_ndcg_4,\n",
    "      \"Precision@100:\\t%f\" % eval_precision_4,\n",
    "      \"Recall@100: \\t%f\" % eval_recall_4, sep='\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "jNPefXO7wZP2"
   },
   "source": [
    "# 5 Conclusion "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "RoiM8KeCvTPg"
   },
   "source": [
    "Through this notebook, it is proven that the VAE using annealing outperforms the model without annealing (using $\\mathbf \\beta$=1). Specifically, the results of evaluting the test set, for the the 2 different approaches, are:\n",
    "\n",
    "| Model | NDCG@100  |NDCG@10 | \n",
    "| --- | --- | --- | \n",
    "| Standard-VAE (wihtout annealing, β=1)| 0.392 | 0.446 |\n",
    "| Standard-VAE (with annealing, optimal β)| 0.443 | 0.496 | \n",
    "\n",
    "\n",
    "This annealing procedure is used as an efficient way to tune the parameter $\\mathbf \\beta$. Otherwise, training multiple models using different values of $\\mathbf \\beta$ can be really time consuming. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 265
    },
    "id": "I66wqKPRhJ2g",
    "outputId": "2e52e9fb-a1b3-4580-faba-9352c9b5a61b"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "tags": []
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot setup\n",
    "plt.figure(figsize=(15, 5))\n",
    "sns.set(style='whitegrid')\n",
    "\n",
    "# Plot NDCG@k of validation sets for three models\n",
    "plt.plot(ndcg_val_without_anneal, color='b', linestyle='-', label='without anneal')\n",
    "plt.plot(ndcg_val_with_anneal, color='g', linestyle='-', label='with anneal at β=1')\n",
    "plt.plot(ndcg_val_optimal_beta, color='r', linestyle='-', label='with anneal at optimal β')\n",
    "\n",
    "# Add plot title and axis names\n",
    "plt.title('VALIDATION NDCG@100 FOR DIFFERENT MODELS \\n', size=16)\n",
    "plt.xlabel('Epochs', size=14)\n",
    "plt.ylabel('NDCG@100', size=14)\n",
    "plt.legend(loc='lower right')\n",
    "\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Niu0b4U1PUwQ"
   },
   "source": [
    "# 6 References"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "A51MUkNVPSX0"
   },
   "source": [
    "[Liang, Dawen, et al, 2018] [Liang, Dawen, et al. \"Variational autoencoders for collaborative filtering.\" Proceedings of the 2018 World Wide Web Conference. 2018.](https://dl.acm.org/doi/pdf/10.1145/3178876.3186150?casa_token=zul5haircsAAAAAA:iIKn7y-xWwSeqaP-MmmyUaJoJuNZX9Fx1aXeFJwkwtMpVDCrPMW3kZjuYo1LKhSuMeUMNf1mbP2o) \n",
    "\n",
    "[Kingma et al, 2013] [Kingma, Diederik P., and Max Welling. \"Auto-encoding variational bayes.\"  (2013).](https://arxiv.org/pdf/1312.6114.pdf)\n",
    "\n",
    "[Burgess et al, 2018] [Burgess, Christopher P., et al. \"Understanding disentangling in $\\beta $-VAE.\" (2018)](https://arxiv.org/pdf/1804.03599.pdf)\n",
    "\n",
    "[Higgins et al, 2016] [Higgins, Irina, et al. \"beta-vae: Learning basic visual concepts with a constrained variational framework.\" (2016).](https://openreview.net/pdf?id=Sy2fzU9gl)\n",
    "\n",
    "\n",
    "[Bowman et al, 2015] [Samuel R. Bowman, Luke Vilnis, Oriol Vinyals, Andrew M. Dai, Rafal Jozefowicz,\n",
    "and Samy Bengio. 2015. Generating sentences from a continuous space. (2015).](https://arxiv.org/pdf/1511.06349.pdf)\n"
   ]
  }
 ],
 "metadata": {
  "accelerator": "GPU",
  "celltoolbar": "Tags",
  "colab": {
   "collapsed_sections": [
    "xd0RPMhD7EnE"
   ],
   "machine_shape": "hm",
   "name": "standard_vae_deep_dive.ipynb",
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
